zoukankan      html  css  js  c++  java
  • scss-嵌套规则

      在编写css代码的时候,可能由于嵌套的原因,需要多次重复书写选择器。

      代码如下:

    #content article h1 { color: #333 }
    #content article p { margin-bottom: 1.4em }
    #content aside { background-color: #EEE }

      上面的代码要多次重复#content和article选择器,非常繁琐,使用scss即可解决此问题。

      代码如下:

    #content {
      article {
        h1 { color: #333 }
        p { margin-bottom: 1.4em }
      }
      aside { background-color: #EEE }
    }
     /* 编译后 */
    #content article h1 { color: #333 }
    #content article p { margin-bottom: 1.4em }
    #content aside { background-color: #EEE }

      上面代码实现了包含选择器的嵌套,逻辑非常简单:

      那就是使用大括号作为层级区分,一层一层实现嵌套,在编译的时候再一层一层剥离出来。

      群组选择器的嵌套:

      一、父选择器重复:

      来看一段代码实例:

    .container h1, .container h2, .container h3 { margin-bottom: .8em }

      上面的群组选择器中,我们需要不断的重复书写.container选择器。

      使用scss就可以避免此问题,代码如下:

    .container {
      h1, h2, h3 {margin-bottom: .8em}
    }

      二、子选择器重复

      来看一段代码实例:

    nav a, aside a {color: blue}

      使用scss就可以避免此问题,代码如下:

    nav, aside {
      a {color: blue}
    }

      子组合选择器和同层组合选择器:

      css代码如下:

    article ~ article { border-top: 1px dashed #ccc }
    article > footer { background: #eee }
    article dl > dt { color: #333 }
    article dl > dd { color: #555 }

      对应的scss代码如下:

    article {
      ~ article { border-top: 1px dashed #ccc }
      > section { background: #eee }
      dl > {
        dt { color: #333 }
        dd { color: #555 }
      }
    }

      特别说明:~、和+选择器既可以放在大括号的外部,也可以放在大括号的内部。

     

    一步一个脚印,认真学下去,相信我们都会成为心目中的技术大牛!!!加油!!!
  • 相关阅读:
    012_DRC检查与处理
    深度系统20.3中亿图图示任务栏名称显示乱码
    deepin20.3+nvidia460.27+cuda11.2+cudnn8.1.1+anconda3.2021.11+paddle2.1.2
    C++中使用DOM写XML文档
    理解lvalue和rvalue
    C++/CLI与C#常用语法对比
    VC++ MSXML创建XML文件以及对XML文档解析
    Stack overflow 编译能通过,运行时出现Stack overflow
    于typedef的用法总结
    VC2008操作Excel2007总结
  • 原文地址:https://www.cnblogs.com/ibabyli/p/9850402.html
Copyright © 2011-2022 走看看