热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SASS实现代码的重用:混合器Mixin、继承

1.继承:@extendsass允许一个选择器,继承另一个选择器,通过@extend实现.class1{border:1pxsolid#333;}

1. 继承: @extend

sass允许一个选择器,继承另一个选择器,通过@extend实现

.class1{
        border: 1px solid #333;    
}
.class2{
        @extend .class1;
        font-size:  12px;
}
// .class2继承.class1的样式

注意:class2不仅会继承class1自身的所有样式,任何跟class1有关的组合选择器的样式也会被class2以组合选择器的形式继承

//.class2 从 .class1 继承样式
.class1 a{  //应用到.class2 a
  color: red;
  font-weight: 100;
}

不要使用后代选择器 (.foo .bar) 去继承css规则

使用场合:当一个元素拥有的类表明它属于另一个类,可以使用继承

2. Mixin混合器:@mixin,给重复用的代码块起个名字

//使用@mixin命令 定义一个代码块
@mixin left {
    float: left;
    margin-left: 10px;
}
//使用 @include命令 调用
div{
      @include left;
}

 

Mixin传参和指定默认参数值:

 @mixin left($value: 10px) {
    float: left;
    margin-right: $value;
  }
//$value默认值是10px,调用时根据需要改变参数
 div {     @include left(20px);   }

传参实例:

@mixin link-colors($normal, $hover, $visited) {
  color: $normal;
  &:hover { color: $hover; }
  &:visited { color: $visited; }
}
a {
  @include link-colors(blue, red, green);
}
或者用$name: value 的形式指定每个参数的值:

a{
  @include linkColors(
    $link: red,
    $hover: green,
    $visited:#eee
  );
}

 

3. SASS提供了一些内置的颜色函数,以便生成系列颜色

  lighten(#cc3, 10%) // #d6d65c
  darken(#cc3, 10%) // #a3a329
  grayscale(#cc3)   // #808080
  complement(#cc3) // #33c

4. 导入sass文件

后续更新

 


推荐阅读
  • 保持sass条理性和可读性的最基本的三个方法:嵌套、导入和注释安装sass和compassruby-v查看ruby版本gemsources—removehttps:rubyg ... [详细]
  • 我正在docker本地运行coo ... [详细]
  • 在ReactWeb应用程序的上下文中,cssscsssass中有哪些功能是使用纯JavaScript ... [详细]
  • 编译sass,遇到报错error style.scss (Line 3: Invalid GBK character
    今天学习sass,写了一行中文注释,结果却遇到了报错:1cmd.exeDCcallC:Ruby23-x64binscss.bat--no-cache--update ... [详细]
  • 原因:增加配置:webpack.base.conf.jsloaders:{scss:[vue-style-loader,css,sass].join(! ... [详细]
  • ruby环境中自动编译sass教程
    ruby环境中自动编译sass教程-sass为CSS的赋予了动态语言的特性,如变量、继承、运算、函数等,更方便CSS的编写和维护!sass安装安装完ruby之后,在开始菜单中,找到 ... [详细]
  • 在我的gulpfile中,我注意到了这种奇怪的行为。如果我这样定义手表(带括号): ... [详细]
  • 本文主要分享【】,技术文章【SassScss、Less是什么?】为【CRMEB】投稿,如果你遇到CRMEB,学习笔记相关问题,本文相关知识或能到你。Sass(SyntacticallyAw ... [详细]
  • sass在vue中需要注意什么
    这篇文章将为大家详细讲解有关sass在vue中需要注意什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。当用@imp ... [详细]
  • 1.什么是预处理器?  CSS预处理器是用一种专门的编程语言,进行Web页面样式设计,然后再编译成正常的CSS文件,以供项目使用。CSS预处理器为CSS增加一些编程的特性,无需考虑浏览器的兼容性问题。 ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • Qt编写自定义控件57直方波形图
    一、前言直方波形图控件非原创控件,控件大全中大概有20-30个控件非自己原创,而是参考了网上开源的代码,自己加以整理和完善,新增了插件的代码使得可以直接集成到QtDesigner或 ... [详细]
  • HTML制作简单首页导航
    h1大标题:李广程的作业列表查看演示地址一:http:js.lgcweb.cn查看演示备用地址:http:39.105.0.128Ja ... [详细]
  • node-sassnpm安装node-sass依赖时,会从github.com上下载.node文件。由于国内网络环境的问题,这个下载时间可能会很长,甚至导致超时失败。这是使用sas ... [详细]
  • CSSandSass(SCSS)stylerulesIDandclassnamingID和class(类)名总是使用可以反应元素目的和用途的名称,或其他通用名称。代替表象和 ... [详细]
author-avatar
小甜甜龌龊的华丽
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有