1# CSS语法参考 2 3 4CSS是描述HML页面结构的样式语言。所有组件均存在系统默认样式,也可在页面CSS样式文件中对组件、页面自定义不同的样式。 5 6 7## 尺寸单位 8 91. 逻辑像素px(文档中以<length>表示): 10 1. 默认卡片具有的逻辑宽度为150px,实际显示时会将页面布局缩放至屏幕实际宽度,如100px在宽度为300的卡片上,实际渲染为200物理像素(从150px向300物理像素,所有尺寸放大2倍)。 11 2. 额外配置autoDesignWidth为true时,逻辑像素px将按照屏幕密度进行缩放,如100px在屏幕密度为3的设备上,实际渲染为300物理像素。应用需要适配多种设备时,建议采用此方法。 12 132. 百分比(文档中以<percentage>表示):表示该组件占父组件尺寸的百分比,如组件的width设置为50%,代表其宽度为父组件的50%。 14 15 16## 样式导入 17 18为了模块化管理和代码复用,CSS样式文件支持 \@import 语句,导入 CSS 文件。 19 20 21## 声明样式 22 23每个页面目录下存在一个与布局hml文件同名的css文件,用来描述该hml页面中组件的样式,决定组件应该如何显示。 24 251. 内部样式,支持使用style、class属性来控制组件的样式。例如: 26 27 ```html 28 <!-- index.hml --> 29 <div class="container"> 30 <text style="color: red">Hello World</text> 31 </div> 32 ``` 33 34 35 ```css 36 /* index.css */ 37 .container { 38 justify-content: center; 39 } 40 ``` 41 422. 文件导入,合并外部样式文件。例如,在common目录中定义样式文件style.css,并在index.css中进行导入: 43 44 ```css 45 /* style.css */ 46 .title { 47 font-size: 50px; 48 } 49 ``` 50 51 52 ```css 53 /* index.css */ 54 @import '../../common/style.css'; 55 .container { 56 justify-content: center; 57 } 58 ``` 59 60 61## 选择器 62 63css选择器用于选择需要添加样式的元素,支持的选择器如下表所示: 64 65| 选择器 | 样例 | 样例描述 | 66| ------ | ---------- | ------------------------- | 67| .class | .container | 用于选择class="container"的组件。 | 68| \#id | \#titleId | 用于选择id="titleId"的组件。 | 69 70示例: 71 72 73```html 74<!-- 页面布局xxx.hml --> 75<div id="containerId" class="container"> 76 <text id="titleId" class="title">标题</text> 77 <div class="content"> 78 <text id="contentId">内容</text> 79 </div> 80</div> 81``` 82 83 84```css 85/* 页面样式xxx.css */ 86/* 对class="title"的组件设置样式 */ 87.title { 88 font-size: 30px; 89} 90/* 对id="contentId"的组件设置样式 */ 91#contentId { 92 font-size: 20px; 93} 94``` 95 96 97## 选择器优先级 98 99选择器的优先级计算规则与w3c规则保持一致(只支持:内联样式,id,class),其中内联样式为在元素style属性中声明的样式。 100 101当多条选择器声明匹配到同一元素时,各类选择器优先级由高到低顺序为:内联样式 > id > class 。 102