CSS之 sass、less、stylus 预处理器的使用方式

CSS之 sass、less、stylus 预处理器的使用方式

更详细区别参考文档:https://blog.csdn.net/pedrojuliet/article/details/72887490

使用变量:

  sass:  使用 $ 符号定义变量,如: $base_color: #efefef

   less: 使用 @ 符号定义变量,如:@base_font_size: 16px

  stylus: 对变量没有任何设定(变量不能以@符号开头),变量之间可以使用 “=”, “空格”或者 “:”,如:  base_font_color: red,   borderwidth=1px,  borderColor #cacaca

 

导入操作(@import):

  如:

base  css文件
/* file.{type} */
body {
  background: #000;
}


xxx css文件
@ import "1.css";
@ import "file.{type}";
p {
  background: #092873;
}


结果
@ import "1.css";
body {
  background: #000;
}
p {
  background: #092873;
}

 

继承:当我们需要为多个元素定义相同的样式的时候,我们可以考虑使用继承的做法

  sass继承:通过 @extend来实现代码组合声明(stylus也可以使用此方法实现继承)

.message {
  border: 1px solid #ccc;
  padding: 10px;
  color: #333;
}

.success {
  @extend .message;
  border-color: green;  
}

.err {
  @extend .message;
  border-color: red;
}

  less继承

.message {
  border: 1px solid #ccc;
  padding: 10px;
  color: #333;
}
.success {
  .message;
  border-color: green;
}
.error {
  .message;
  border-color: red;
}

 

混入(Mixins):有点像函数或者宏,当某段css经常要在多个元素中使用时,可以为这些共用的css定义一个Mixin,然后在需要的地方引入该Mixin即可

  sass语法:

/* 定义一个混入语法,接受一个变量,默认值为2px,可选 */
@mixin err($borderWidth:2px){
    border:$borderWidth solid #cacaca
    color: #cacaca
}

.generic-error {
    padding: 20px;
    margin: 4px;
    @include error(5px);  /* 调用混入语法,传入一个参数得到 border:5px solid #cacaca*/
}

  stylus语法

error(borderWidth= 2px) {
  border: borderWidth solid #F00;
  color: #F00;
}
.generic-error {
  padding: 20px;
  margin: 4px;/* 调用混入语法,传入一个参数得到 border:5px solid #cacaca*/、
error();
}

 

  

怎能让着不停燃烧的心,就这样耗尽消失在平庸里

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2592.html原文链接:https://javaforall.net

(0)
上一篇 2020年11月19日 下午8:32
下一篇 2020年11月19日 下午8:32


相关推荐

  • 关于ubuntu kill 硬盘问题

    关于ubuntu kill 硬盘问题

    2021年5月3日
    165
  • 如何有效解决高清视频传输中出现的闪屏、黑屏、蓝屏问题?

    如何有效解决高清视频传输中出现的闪屏、黑屏、蓝屏问题?春节期间冬奥会上女足夺冠的精彩赛事是不是还历历在目?你知道体育赛事、音乐会直播以及远程医疗等对视频清晰度和稳定性要求极高的传输是怎么实现的吗?为什么别人4K超高清的视频看起来如此流畅,而你一个1080P的高清视频却经常出现闪屏、黑屏、蓝屏?​在很多视频监控传输的项目,当我们做完项目后,经常会遇到闪屏、黑屏、蓝屏的问题,反复检查线路和接线后仍一筹莫展,查不出问题所在。这是为什么,工程师为您解答,如何有效解决高清视频传输中出现的闪屏、黑屏、蓝屏的问题。​我们都知道一般高清.

    2022年10月3日
    6
  • Qwen-Image-Edit-F2P C++调用指南[可运行源码]

    Qwen-Image-Edit-F2P C++调用指南[可运行源码]

    2026年3月13日
    2
  • Hadoop与 Spark中的Shuffle之区别与联系

    Hadoop与 Spark中的Shuffle之区别与联系Hadoop与 Spark中的Shuffle之区别与联系

    2022年4月23日
    70
  • linux中777是什么权限_centos切换到root用户

    linux中777是什么权限_centos切换到root用户基本上就是全部开放读写执行操作权限一个文件有三个权限,分别是读、写和执行,它们对应的数分别是4、2和1。如果某个用户只有读权限没有写和执行权限当然就是4,如果三个如果有读和执行权限就是5(4+1)所以有全部权限就是7了。而一个文件或文件夹面对的用户分三类:所属用户、所属用户的组其他用户以及组外用户。所以777三个数字就是对应这三个用户对象全部都有读、写、执行权限。如果是所属用户有全部权限,组员有读…

    2022年10月9日
    4
  • C中的partial class(部分类)

    C中的partial class(部分类)C 2 0 可以将类 结构或接口的定义拆分到两个或多个源文件中 在类声明前添加 partial 关键字即可 例如 下面的 PartialTest 类 classPartial stringStr FieldTest intInt FieldTest publicvoidDo Debug Print Test 可在不同源文件中写成下面形式 一个

    2025年8月6日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号