stylus_基础语法(条件/循环/@import/@media/@extend)

stylus跟less sass做的是同样的事情,之间有很多共同的地方,比如变量、计算的想法

归纳下stylus基础知识

条件

因为有了条件,才受控制,才可以称的上是动态语言;

  • if/else if/else
  • unless(除非)

styl

box(x,y,margin-only = false)
    if margin-only
        margin x y
    else 
        padding x y
p
    box(5px, 10px, true)

编译后的css

p {
  margin: 5px 10px;
}

循环迭代

可以循环取值,也可以循环赋值;
语法 for <val-name> [,<key-name>] in <expression>

styl

p
    for bbbb in 2 3 4 5 6 7
        foo bbbb
    for a ,i in 

编译后的css

p {
  foo: 2;
  foo: 3;
  foo: 4;
  foo: 5;
  foo: 6;
  foo: 7;
}

@import

支持导入其他stylus样式;

@media

@media工作原理和在常规CSS中一样,但是,要使用Stylus的块状符号。

styl

@media print
  #header
  #footer
    display none

css

@media print {
  #header,
  #footer {
    display: none;
  }
}

@extend

继承

styl

.msg
    padding 10px 
    margin 10px
    border 1px solid #ccc
.warning
    @extend .msg
    color red

css

.msg,
.warning {
  padding: 10px;
  margin: 10px;
  border: 1px solid #ccc;
}
.warning {
  color: #f00;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容