开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
native 渲染
性能与优化
小程序全局配置
小程序页面
axml
sjs 语法参考
事件系统
自定义组件
基础能力
基础库
基础库更新日志
开发 > 框架 > acss 语法参考
贡献者 2
收藏
订阅更新
我的文档
设置
acss 是一套样式语言,用于描述 axml 的组件样式,决定 axml 的组件的显示效果。
为适应广大前端开发者,acss 和 css 规则完全一致,100% 可以用。同时为更适合开发小程序,对 css 进行了扩充,acss 支持 px,rpx,vh,vw 等单位。
acss 已经帮开发者做了不同手机端的样式兼容性处理。
rpx
rpx(responsive pixel)可以根据屏幕宽度进行自适应,规定屏幕宽为 750rpx。以 apple iphone6 为例,屏幕宽度为 375px,共有 750 个物理像素,则 750 rpx = 375 px = 750 物理像素,1rpx = 0.5 px = 1 物理像素。
设备
rpx 换算 px(屏幕宽度 / 750)
px 换算 rpx(750 / 屏幕宽度)
iphone5
1rpx = 0.42px
1px = 2.34rpx
iphone6
1rpx = 0.5px
1px = 2rpx
iphone6 plus
1rpx = 0.552px
1px = 1.81rpx
样式导入
使用 @import 语句可以导入外联样式表,@import 后需要加上外联样式表相对路径,用; 表示结束。
示例代码
css
复制代码
/** button.acss **/
.sm-button {
padding: 5px;
}
css
复制代码
/** app.acss **/
@import "./button.acss";
.md-button {
padding: 15px;
}
导入路径支持从 node_modules 目录载入第三方模块,例如 page.acss。
内联样式
组件上支持使用 styleclass 属性来控制样式。
style 属性
用于接收动态样式,样式在运行时会进行解析。行内样式不支持 !important 优先级规则。
class 属性
用于接收静态样式,属性值是样式规则中类选择器名(样式类名)的集合,样式类名不需要带上.,多个类名间以空格分隔。请静态样式写进 class 中,避免将静态样式写进 style 中,以免影响渲染速度。
选择器
同 css3 保持一致。
注意
.a-.am- 开头的类选择器为系统组件占用,不可使用。
不支持属性选择器。
全局样式与局部样式
app.acss 中的样式为全局样式,作用于每一个页面。
页面文件夹内的 .acss 文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖 app.acss 中相同的选择器。
本地资源引用
acss 文件里的本地资源引用请使用绝对路径的方式,不支持相对路径引用,例如下方示例。
常见问题
q:一个 axml 引用多个自定义组件或 template 模板、include 等,造成样式之间相互影响、样式污染怎么办?
a:对于基础库小于2.7.2的小程序,可使用 class 命名空间处理样式隔离。从基础库版本 2.7.2 开始,可以在自定义组件的 json 文件中配置 styleisolation,避免页面的样式影响到外部。例如:
该选项支持以下取值:
apply-shared 表示 app.acss 样式以及其他(设置了 shared 的页面和其他自定义组件)的样式将影响到自定义组件,但自定义组件 acss 中指定的样式不会影响外部。
shared(默认)表示 app.acss 样式以及其他(设置了 shared 的页面和其他自定义组件)的样式将影响到页面,自定义组件 acss 中指定的样式也会影响到外部。
q:设置页面高度 100% 为什么没用?
a:设置 100%,需要依赖父容器的高度,父容器没有高度那么 100% 就是 0。或者添加绝对定位也可解决,如不添加,会自适应页面的内容。
相关文档
小程序全局配置介绍
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图