zoukankan      html  css  js  c++  java
  • 4.Scss嵌套

    Sass为我们提供了一种方便的操作方式:嵌套。在Sass中,共有3种嵌套方式:

      (1)选择器嵌套;

            例如:      

            $color1:red;

            $color2:green;
            $color3:blue;
            body
              {
                color:$color1;
                .column
                {
                  color:$color2;
                  .content-title
                  {
                  color:$color3;
                  }
                 }
              }
          编译出来的css代码:
            body
            {
              color: red;
              }
            body .column
            {
            color: green;
             }
          body .column .content-title
            {
            color: blue;
             }

    弊端:

    选择器嵌套这种方式虽然操作起来很方便,但是却有一个很大的弊端:嵌套的层级越深,编译出来的CSS代码的选择器层级也越深。这种嵌套方式会导致CSS样式冗余,并且难以维护。尽量少用选择器嵌套的方式来书写Sass

    2)属性嵌套;相同的前缀可以拿出来。

    例如:

        {

           100px;

            height:100px;
            font:
            {
            family:Arial;
            size:14px;
            weight:bold;
            }
          }
    编译出来的css代码如下:
               div
         {
        width: 100px;
        height: 100px;
        font-family: Arial;
        font-size: 14px;
        font-weight: bold;
        }
    对于属性嵌套,我们要特别注意一点在需要嵌套的属性前缀后面一定要加英文冒号“:”,不然编译出来的就不是我们想要的效果。

    3)伪类嵌套或伪元素嵌套;

      在Sass中,还有一种嵌套方式:伪类嵌套或伪元素嵌套。伪类嵌套(或伪元素嵌套)跟属性嵌套很像,只不过它是需要借助“&”符号一起配合使用。

    常见的伪元素只有4个,即::before、::after、::first-letter、::first-line

    举例:伪类嵌套:

           $color1:red; 

      $color2:green;
        a{ 
        color:$color1;
        &:hover
        
         color:$color2;
        }
        }
    编译出来的css代码:
          a
        {
          color: red;
        }
        a:hover
        {
          color: green;
        }
    伪类嵌套都是结合“&”符号来实现的,编译的时候“&”会替换成相应的选择器。
     举例:伪元素嵌套
        .clearfix
          {
            *zoom:1;
            &:after
            {
            clear:both;
            content:"";
            display:block;
            height:0;
            visibility:hidden;
            }
            }
    编译出来的css代码:
          .clearfix{*zoom:1;}
          .clearfix::after
            {
            clear:both;
            content:"";
            display:block;
            height:0;
            visibility:hidden;
            }
    伪元素嵌套同样也是结合“&”符号来实现的,编译的时候“&”会替换成相应的选择器。上面这个是清除浮动最常用的方法
  • 相关阅读:
    ms sql 生成日历储存过程
    基于开源的GOCW和Directshow.net,实现摄像头预览、采集、录像等操作
    xshell链接远程服务器centos7显示-bash-4.2#
    docker服务日志查看方法
    信息技术应用技巧:没有音箱怎么办?手机当音箱
    信息技术应用技巧:台式机没有网线怎么办?
    C# 查找PDF页面指定区域中的文本并替换和高亮
    Java 将Excel工作簿按工作表拆分为多个文档
    Java 查找并替换PDF中的指定文本
    【SqlServer】导入MaxMind中的IP数据(.csv)文件到SQL Server数据库(转)
  • 原文地址:https://www.cnblogs.com/hou-yuan-zhen/p/11615373.html
Copyright © 2011-2022 走看看