- [规则声明](#rule-declaration)
- [选择器](#selectors)
- [属性](#properties)
复制代码
- [Less书写顺序](#less-order)
- [属性书写顺序](#rule-order)
复制代码
咱们把一个(或一组)选择器和一组属性称之为 “规则声明”。举个例子:javascript
.listing {
font-size: 18px;
line-height: 1.2;
}
复制代码
在规则声明中,“选择器” 负责选取 DOM 树中的元素,这些元素将被定义的属性所修饰。选择器能够匹配 HTML 元素,也能够匹配一个元素的类名、ID, 或者元素拥有的属性。如下是选择器的例子:css
.my-element-class {
/* ... */
}
[aria-hidden] {
/* ... */
}
复制代码
最后,属性决定了规则声明里被选择的元素将获得何种样式。属性以键值对形式存在,一个规则声明能够包含一或多个属性定义。如下是属性定义的例子:html
/* some selector */ {
background: #f1f1f1;
color: #333;
}
复制代码
页面的样式入口文件按顺序引入如下Less文件。java
/* globals.less */
@import "globals/mixins";
@import "globals/colors";
@import "globals/fonts";
/* components.less */
@import "components/tabs";
@import "components/modals";
/* sections.less */
@import "sections/header";
@import "sections/footer";
/* main.less */
@import "app/main";
复制代码
CSS的命名规则react
/* 统一清除浮动 */
.g-bdc:after,
.m-dimg ul:after,
.u-tab:after {
display: block;
visibility: hidden;
clear: both;
height: 0;
overflow: hidden;
content: '.';
}
.g-bdc,
.m-dimg ul,
.u-tab {
zoom: 1;
}
/* 布局 */
.g-sd {
float: left;
width: 300px;
}
/* 模块 */
.m-logo {
width: 200px;
height: 50px;
}
/* 元件 */
.u-btn {
height: 20px;
border: 1px solid #333;
}
/* 功能 */
.f-tac {
text-align: center;
}
/* 皮肤 */
.s-fc,
a.s-fc:hover {
color: #fff;
}
复制代码
{
前加上一个空格。:
后面加上一个空格,前面不加空格。}
独占一行。.weather {
&:extend(.module);
.transition(all 0.3s ease-out);
background: LightCyan;
&:hover {
background: DarkCyan;
}
&::before {
content: "";
display: block;
}
> h3 {
.transform(rotate(90deg));
border-bottom: 1px solid white;
}
...
}
复制代码
→ | 显示属性 | 自身属性 | 文本属性和其余修饰 |
---|---|---|---|
display | width | font | |
visibility | height | text-align | |
position | margin | text-decoration | |
float | padding | vertical-align | |
clear | border | white-space | |
list-style | overflow | color | |
top | min-width | background |
.page-container {
.content {
.profile {
// STOP!
}
}
}
复制代码