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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spring boot + Vue + iView前后端分离架构(Mac版) — (二)登录页面与国际化

    spring boot + Vue + iView前后端分离架构(Mac版) — (二)登录页面与国际化springboot+Vue+iView前后端分离架构(Mac版)–登录页面与国际化(二)[小景哥哥博客][http://www.jinglisen.top]接下来我们首先实现国际化,然后实现登录页面。一、实现国际化打开项目hep-admin-web工程,在src目录下创建一个local的目录,再在local目录下创建lang的文件夹,此文件夹用于存放国际化文件,国际化文件包…

    2022年6月11日
    34
  • Python 基础问题大全

    Python 基础问题大全前言Python现在依托大数据,AI人工智能等等这些最火的项目,俨然已经成为了当下最火的一门编程语言之一。所以,近来也是有非常非常多的工程师来进修python这么语言。但是实际上,对于0代码基础

    2022年7月6日
    23
  • java后端开发职责_工作职责和岗位职责有什么区别

    java后端开发职责_工作职责和岗位职责有什么区别java后台开发岗位职责:1.参与项目后端的设计、开发工作,承担核心功能模块的代码编写,确保项目进度和质量;2.参与开发人员codereview工作,并能提供性能优化、安全性建议;3.参与系统架构设计、接口规范制定、技术文档编写等。4.参与现有系统的优化改进。岗位要求:1.本科及以上学历,计算机相关专业优先,【扎实的数据结构/算法与编码能力】;2.JAVA基础扎实,1年及以上JAV…

    2025年5月27日
    0
  • 博客内的百度网盘资源公开目录下载[通俗易懂]

    博客内的百度网盘资源公开目录下载[通俗易懂]本博客下的百度网盘资源公开下载目录,及地址更新。博客园文档与资料(长期更新,2015-10-18Build)欢迎大家,github 推荐方式下载:https://github.co

    2022年7月3日
    25
  • 关系模式的函数依赖

    关系模式的函数依赖

    2021年9月14日
    71
  • ffplay播放器移植VC的工程:ffplay for MFC[通俗易懂]

    ffplay播放器移植VC的工程:ffplay for MFC[通俗易懂]ffplay播放器移植VC的工程:ffplayforMFC本文介绍一个自己做的FFPLAY移植到VC下的开源工程:ffplayforMFC。本工程将ffmpeg项目中的ffplay播放器(ffplay.c)移植到了VC的环境下。并且使用MFC做了一套简单的界面。它可以完成一个播放器播放视频的基本流程:解协议,解封装,视频/音频解码,视音频同步,视音频输出。此外还包含一些控制功能:播放,暂停/继

    2022年6月24日
    21

发表回复

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

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