• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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当多条选择器声明匹配到同一元素时,各类选择器优先级由高到低顺序为:内联样式 &gt; id &gt; class 。
102