使用运算符号
和其他语言一样 stylus 也有运算符号,
最常用的 + - * / % 等等
逻辑运算符号 !, ==, !=, >=, >, <=, <等等
在 stylus 中都可以使用。而且 stylus 提供很多新的运算符号。
看下面的例子,这里面基本将所有的运算符号使用了一遍,大家可以参考使用
1 | margin 15px + 5px => margin: 20px; /*加*/ |
Mixins混入
感觉混入和函数的定义是一样的,但用处不同。Mixins混入作为状态调用,而非表达调用
我们使用官网的一条例子可以来学习一下。
1 | border-radius(n) |
使用Mixins混入可以省略括号。
经常被使用的还有透明的处理,以下代码可以用作参考
1 | support-for-ie ?= true |
父级引用
Mixins混入可以使用字符&引用父级,
例如要用stripe(even, odd)创建一个条纹表格。even和odd均提供了默认颜色值,每行也指定了background-color属性。我们可以在tr嵌套中使用&来引用tr,以提供even颜色。
1 | stripe(even = #fff, odd = #eee) |
另外,stripe()的定义无需父引用:
stripe(even = #fff, odd = #eee)
tr
background-color odd
tr.even
tr:nth-child(even)
background-color even
如果你愿意,你可以把stripe()当作属性调用。
stripe #fff #000
Mixins混入中使用Mixins混入
自然,Mixins混入可以利用其它Mixins混入,建立在它们自己的属性和选择器上。
例如,下面我们创建内联comma-list()(通过inline-list())以及逗号分隔的无序列表。
inline-list()
li
display inline
comma-list()
inline-list()
li
&:after
content ', '
&:last-child:after
content ''
ul
comma-list()
渲染:
ul li:after {
content: ", ";
}
ul li:last-child:after {
content: "";
}
ul li {
display: inline;
}