zoukankan      html  css  js  c++  java
  • Sass-@extend

    Sass 中的 @extend 是用来扩展选择器或占位符。比如:

    .error {
      border: 1px #f00;
      background-color: #fdd;
    }
    .error.intrusion {
      background-image: url("/image/hacked.png");
    }
    .seriousError {
      @extend .error;
      border-width: 3px;
    }

    被编译为:

    .error, .seriousError {
      border: 1px #f00;
      background-color: #fdd; }
    
    .error.intrusion, .seriousError.intrusion {
      background-image: url("/image/hacked.png"); }
    
    .seriousError {
      border-width: 3px; }

    扩展选择器:

    @extend 不止扩展类选择器,还可以扩展任何选择器,比如 .special.cool, a:hover, 或 a.user[href^=“http://“],例如:

    .hoverlink {
      @extend a:hover;
    }
    a:hover {
      text-decoration: underline;
    }

    编译出来:

    a:hover, .hoverlink {
      text-decoration: underline; }

    再来看一个复杂点的:

    .hoverlink {
      @extend a:hover;
    }
    .comment a.user:hover {
      font-weight: bold;
    }

    编译出来的CSS

    .comment a.user:hover, .comment .user.hoverlink {
      font-weight: bold; }

    多个扩展

    所设某个样式要继承多个地方的样式,那么可以使用 @extend 来继承多个选择器或占位符的样式,如:
    .error {
      border: 1px #f00;
      background-color: #fdd;
    }
    .attention {
      font-size: 3em;
      background-color: #ff0;
    }
    .seriousError {
      @extend .error;
      @extend .attention;
      border-width: 3px;
    }

    编译出来的CSS

    .error, .seriousError {
      border: 1px #f00;
      background-color: #fdd; }
    
    .attention, .seriousError {
      font-size: 3em;
      background-color: #ff0; }
    
    .seriousError {
      border-width: 3px; }

    扩展单一选择器

    前面我们知道 %placeholder 不使用@extend显示调用是不会生成任何样式代码。那么在选择器中使用占位符一样。比如下面的代码:

    #context a%extreme {
      color: blue;
      font-weight: bold;
      font-size: 2em;
    }

    这段代码在不调用之前不产生任何代码,只有能过@extend调用之后才生成代码:

    .notice {
      @extend %extreme;
    }

    编译出来的CSS

    #context a.notice {
      color: blue;
      font-weight: bold;
      font-size: 2em;
    }
  • 相关阅读:
    docker tar 镜像 容器相互转换
    JavaScript执行上下文
    JavaScript 作用域
    原型与原型链
    使用Navicat for Oracle新建表空间、用户及权限赋予
    PL/SQL Developer使用教程(中文)
    一步一步使用bootstrap开发一个博客模板
    How to create a simple blog using ASP.NET MVC
    一个有意思的编程网站
    一个很好的java编程国外网站
  • 原文地址:https://www.cnblogs.com/qjuly/p/9128657.html
Copyright © 2011-2022 走看看