返回介绍

变量(Variables)

发布于 2020-02-14 10:31:24 字数 1716 浏览 1003 评论 0 收藏 0

变量

我们可以指定表达式为变量,然后在我们的样式中贯穿使用:

font-size = 14px

body
  font font-size Arial, sans-seri

编译为:

body {
  font: 14px Arial, sans-serif;
}

变量甚至可以组成一个表达式列表:

font-size = 14px
font = font-size "Lucida Grande", Arial

body
  font font sans-serif

编译为:

body {
  font: 14px "Lucida Grande", Arial sans-serif;
}

标识符(变量名,函数等),也可能包括$字符。例如:

$font-size = 14px
body {
  font: $font-size sans-serif;
}

属性查找

Stylus有另外一个很酷的独特功能,不需要分配值给变量就可以定义引用属性。下面是个很好的例子,元素水平垂直居中对齐(典型的方法是使用百分比和margin负值),如下:

#logo
  position: absolute
  top: 50%
  left: 50%
  width: w = 150px
  height: h = 80px
  margin-left: -(w / 2)
  margin-top: -(h / 2)

我们不使用这里的变量wh, 而是简单地前置@字符在属性名前来访问该属性名对应的值:

#logo
  position: absolute
  top: 50%
  left: 50%
  width: 150px
  height: 80px
  margin-left: -(@width / 2)
  margin-top: -(@height / 2)

另外使用案例是基于其他属性有条件地定义属性。在下面这个例子中,我们默认指定z-index值为1,但是,只有在z-index之前未指定的时候才这样:

position()
  position: arguments
  z-index: 1 unless @z-index

#logo
  z-index: 20
  position: absolute

#logo2
  position: absolute

属性会“向上冒泡”查找堆栈直到被发现,或者返回null(如果属性搞不定)。下面这个例子,@color被弄成了blue.

body
  color: red
  ul
    li
      color: blue
      a
background-color: @color

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文