NSS
NSS(Native Style Sheets)是一套样式语言,用于描述 NML 的组件样式。
NSS 用来决定 NML 的组件应该怎么显示。
为了适应广大的前端开发者,NSS 具有 CSS 大部分特性。同时为了更适合开发uniapp程序,NSS 对 CSS 进行了扩充以及修改。
与 CSS 相比,NSS 扩展的特性有:
- 尺寸单位
- 样式导入
尺寸单位
为了解决屏幕适配问题,所有与大小相关的样式(例如width、font-size)均以基准宽度(默认750px)为基础,根据实际屏幕宽度进行缩放,例如width:100px,在1500px宽度屏幕上,width实际上为200px
样式导入
使用@import语句可以导入外联样式表,@import后跟需要导入的外联样式表的相对路径,用;表示语句结束。
示例代码:
/** common.nss **/
.small-p {
padding:5px;
}
/** app.nss **/
@import "common.wxss";
.middle-p {
padding:15px;
}
内联样式
框架组件上支持使用 style、class 属性来控制组件的样式。
- style:静态的样式统一写到 class 中。style 接收动态的样式,在运行时会进行解析,请尽量避免将静态的样式写进 style 中,以免影响渲染速度。
<view style="color:;" />
- class:用于指定样式规则,其属性值是样式规则中类选择器名(样式类名)的集合,样式类名之间用空格分隔。
<view class="normal_view" />
选择器
目前支持的选择器有:
| 选择器 | 样例 | 样例描述 |
|---|---|---|
| .class | .intro |
选择所有拥有 class="intro" 的组件 |
| #id | #firstname |
选择拥有 id="firstname" 的组件 |
| element | view |
选择所有 view 组件 |
| element, element | view, checkbox |
选择所有文档的 view 组件和所有的 checkbox 组件 |
| ::after | view::after |
在 view 组件后边插入内容 |
| ::before | view::before |
在 view 组件前边插入内容 |
全局样式与局部样式
定义在 app.nss 中的样式为全局样式,作用于每一个页面。在 page 的 nss 文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖 app.nss 中相同的选择器。