1. 变量(Variables): 使用 @ 符号定义变量,可以存储颜色、数值、字符串等。
@primary-color: #3498db;
.header {
color: @primary-color;
}
2. 嵌套规则(Nested Rules): 可以在样式规则中嵌套其他规则,提高样式表的可读性。
.nav {
background-color: #333;
a {
color: #fff;
&:hover {
text-decoration: underline;
}
}
}
3. 混合器(Mixins): 允许定义可重用的样式块,可以带有参数。
.border-radius(@radius) {
border-radius: @radius;
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
}
.button {
.border-radius(5px);
}
4. 导入(Import): 可以将样式表拆分为多个文件,并通过 @import 导入它们。
// variables.less
@primary-color: #3498db;
// styles.less
@import "variables";
.header {
color: @primary-color;
}
5. 运算(Operations): 支持基本的算术运算。
@base: 5px;
@padding: @base * 2;
.element {
padding: @padding;
}
6. 条件语句(Conditions): 允许根据不同的条件应用不同的样式。
@width: 10px;
.element {
width: @width;
@if @width > 5 {
color: red;
} @else {
color: blue;
}
}
7. 循环(Loops): 允许使用循环生成一系列样式。
.loop(@index) when (@index > 0) {
.element-@{index} {
width: @index * 10px;
}
.loop(@index - 1);
}
.loop(5);
8. 扩展(Extend): 允许一个选择器继承另一个选择器的样式。
.btn {
padding: 5px;
border: 1px solid #ccc;
}
.btn-primary {
color: #fff;
background-color: #3498db;
}
.btn-success {
&:extend(.btn); /* 扩展.btn的样式 */
background-color: #2ecc71;
}
9. 函数和运算符(Functions and Operators): Less 提供了一些内置函数和运算符,例如颜色函数、字符串函数等。
@base-color: #3498db;
.darken-btn {
background-color: darken(@base-color, 10%);
}
这些特性使得 Less 成为一种强大而灵活的样式表语言,能够提高样式表的可维护性和可扩展性。在实际开发中,Less 被广泛应用于构建现代化的网站和应用。
转载请注明出处:http://www.zyzy.cn/article/detail/4279/Less