热门标签 | 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文件

后续更新

 


推荐阅读
  • 在CSS中为文本框添加黑色边框是一个简单而有效的方法,可以显著提升网页元素的视觉效果。本文将详细介绍如何通过CSS代码轻松实现这一目标,包括设置边框宽度、样式和颜色的具体步骤,帮助开发者快速掌握这一技巧。 ... [详细]
  • 编译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增加一些编程的特性,无需考虑浏览器的兼容性问题。 ... [详细]
  • 《移动Web前端高效开发实战》笔记2——使用Gulp构建一个ECMAScript 6和Sass应用
    8.3.1安装和配置运行Gulp需要Node.js环境,请参看第二章内容搭建Node.js环境。使用NPM全局安装Gulp,命令如下:npminstallgulp-cli–g ... [详细]
  • 本文详细介绍了如何利用CSS技术对链接下划线进行个性化定制和美化,涵盖了多种实用技巧和方法。通过对CSS属性的灵活运用,可以实现不同风格的下划线效果,提升网页的视觉体验。文中不仅提供了基础的代码示例,还结合实际案例进行了深入解析,帮助读者更好地理解和应用这些技巧。此外,文章还引用了《CSS2.0中文手册》中的相关内容,增加了技术的权威性和实用性。 ... [详细]
  • 本文深入探讨了ASP.NET中ViewState、Cookie和Session三种状态管理技术的区别与应用场景。ViewState主要用于保存页面控件的状态信息,确保在多次往返服务器过程中数据的一致性;Cookie则存储在客户端,适用于保存少量用户偏好设置等非敏感信息;而Session则在服务器端存储数据,适合处理需要跨页面保持的数据。文章详细分析了这三种技术的工作原理及其优缺点,并提供了实际应用中的最佳实践建议。 ... [详细]
  • 在进行网络编程时,准确获取本地主机的IP地址是一项基本但重要的任务。Winsock作为20世纪90年代初由Microsoft与多家公司共同制定的Windows平台网络编程接口,为开发者提供了一套高效且易用的工具。通过Winsock,开发者可以轻松实现网络通信功能,并准确获取本地主机的IP地址,从而确保应用程序在网络环境中的稳定运行。此外,了解Winsock的工作原理及其API函数的使用方法,有助于提高开发效率和代码质量。 ... [详细]
  • MacBook上Vim基础个性化设置指南
    在MacBook上进行Vim的基础个性化设置,首先需要在终端中输入 `vim ~/.vimrc`。接着,将以下配置代码粘贴到 `.vimrc` 文件中:```vimset tabstop=4set numbersyntax oncolorscheme murphy```此外,Vim提供了多种配色方案供用户选择,建议自行探索并选择最适合自己的配色文件。通过这些简单的步骤,你可以显著提升Vim的使用体验。 ... [详细]
  • Div+CSS网站布局入门教程(转载)
    在网页制作中,有许多的术语,例如:CSS、HTML、DHTML、XHTML等等设置div的宽度。在下面的文章中我们将会用到一些有关于HTML的基本知识,而在你学 ... [详细]
  • CSS深入剖析text和column
    这里写目录标题一、text-shadow二、font-face三、其他text常用特性四、column一、text-shadow与box-shadow类似,这里通过 ... [详细]
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社区 版权所有