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 }
      }
    }

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

     

    一步一个脚印,认真学下去,相信我们都会成为心目中的技术大牛!!!加油!!!
  • 相关阅读:
    PHP 开发 APP 接口 学习笔记与总结
    Java实现 LeetCode 43 字符串相乘
    Java实现 LeetCode 43 字符串相乘
    Java实现 LeetCode 43 字符串相乘
    Java实现 LeetCode 42 接雨水
    Java实现 LeetCode 42 接雨水
    Java实现 LeetCode 42 接雨水
    Java实现 LeetCode 41 缺失的第一个正数
    Java实现 LeetCode 41 缺失的第一个正数
    Java实现 LeetCode 41 缺失的第一个正数
  • 原文地址:https://www.cnblogs.com/ibabyli/p/9850402.html
Copyright © 2011-2022 走看看