• Stylus-富有表现力的、动态的、健壮的CSS


    今天总结一下Stylus记一些常用的也是最基本的用法

    一.  选择器

    Stylus是基于缩进的这让我们可以更快捷的编写css比如

    body {
        margin: 0;
        paddind: 0;
        font-size: 12px;
        background: red;
    }
    
    使用stylus基于缩进的写法:
    body
        margin 0;
        padding 0;
        font-szie 12px;
        background red

     规则级

    我们常常将重复的代码写在一起这样能让我们少些很多代码,

    .header, .main {
        margin: 5px;
        border: 1px solid orange
    }

    Stylus就跟css一样使用,分隔同时为多个元素定义属性

    .header,  .main
         margin 5px;
         border 1px solid orange

     父级引用

    字符&指向父选择器

    a 
      color red
      &:hover 
           color  orange

    就相当于

    a {
        color: red
    }
    
    a:hover {
        color: orange
    }

    二:变量

    变量(Variables)

    变量

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

    font-size = 14px
    
    header 
          font-size font-size

    三.插值(Interpolation)

    插值

    Stylus支持通过使用{}字符包围表达式来插入值,其会变成标识符的一部分。例如,-webkit-{'border' + '-radius'}等同于-webkit-border-radius.

    partOfProp = radius
    value = 10px
    div
        border-{partOfProp} value  /*切记属性值这里不可以使用插值*/

    四:运算符

    comWidth = 980px
    
    .innerWidth
             comWidth - 20px;

    五:混合书写

    混入

    混入和函数定义方法一致,但是应用却大相径庭。

    例如,下面有定义的border-radius(n)方法,其却作为一个mixin(如,作为状态调用,而非表达式)调用。

    border-radius()选择器中调用时候,属性会被扩展并复制在选择器中。

    border-radius(n)
      -webkit-border-radius n
      -moz-border-radius n
      -o-border-radius n
      border-radius n
    
    .innerWidth
       width 200px
       height 200px
       border 1px solid red
       border-radius(50%)
       

    六:方法(Functions)

    函数

    Stylus强大之处就在于其内置的语言函数定义。其定义与混入(mixins)一致;却可以返回值。

    返回值
    add(a, b)
      a + b
    
    .innerWidth
      width add(50px, 5)
      height add(20px, 5)
      border 1px solid red
    默认参数

    可选参数往往有个默认的给定表达。在Stylus中,我们甚至可以超越默认参数。

    add(a, b = a)
      a + b
    
    .innerWidth
      width add(50px, 5)
      height add(20px)
      border 1px solid red

    当没有指定第二个参数就会使用默认参数b=a 也就是加上20

    我们可以把简单的add()方法更进一步。通过内置unit()把单位都变成px, 因为赋值在每个参数上,因此,我们可以无视单位换算。

    add(a, b=a)
      a = unit(a, px)
      b = unit(b, px)
      a + b
    
    .innerWidth 
        width add(15%, 10deg)
        height 200px;
        border 1px solid red
  • 相关阅读:
    Sublime text 3支持utf-8
    ubuntu17.10 安装firefox的flash
    opencv mat裁剪
    Ubuntu寻找某某库
    Ubuntu的 g++ gcc版本升降级
    Autotools知识点
    Counted(内存管理机制)
    operator new和operator delete
    STL学习笔记:空间配置器allocator
    function call操作符(operator()) 仿函数(functor)
  • 原文地址:https://www.cnblogs.com/qjuly/p/9418965.html
Copyright © 2020-2023  润新知