css预处理器有Less、Sass(Scss)及Stylus;它们各自的背景如下:

Sass:2007年诞生,最早也是最成熟的CSS预处理器,拥有ruby社区的支持和compass这一最强大的css框架,目前受LESS影响,已经进化到了全面兼容CSS的SCSS(SCSS 需要使用分号和花括号而不是换行和缩进)。

Less:2009年出现,受SASS的影响较大,但又使用CSS的语法,让大部分开发者和设计师更容易上手,在ruby社区之外支持者远超过SASS,其缺点是比起SASS来,可编程功能不够,不过优点是简单和兼容CSS,反过来也影响了SASS演变到了SCSS的时代,著名的Twitter Bootstrap就是采用LESS做底层语言的。

Stylus:2010年产生,来自Node.js社区,主要用来给Node项目进行CSS预处理支持,在此社区之内有一定支持者,在广泛的意义上人气还完全不如SASS和LESS。

由于使用Sass需要Ruby环境下使用,Less相对来说没有Sass 和 Stylus功能强大,而且我们之前了解过Less(Less基础例子)因此这次来学习下语法自由度很高(Stylus样式的写法可以不需要花括号、冒号、分号,也可以都需要或者部分需要,具体请见第三节【语法举例】中的语法自由度举例)的Stylus;

一、安装

1、npm init

2、npm install stylus -g

二、使用举例

1、在安装目录下新建index.styl 文件,再新建index文件夹,在index文件夹里新建index.html;

//css.styl文件

div

color:red;

//index.html文件

Document

我是div

2、输入 stylus -w index.styl -o index 进行转译成css文件 ;

-w index.styl 是指自动监测css.styl文件的变化 -o index是指将编译后的同名的index.css文件放至index文件夹中;

当然其它转译用法如下:

w3cplus资料.png

3、直接在css.styl写stylus即可;

三、语法举例

1、语法自由度举例

//index.html

Document

我是div1,我有花括号,冒号和分号
我是div2,我无花括号,但有冒号和分号
我是div3,我无花括号、冒号,但有分号
我是div4,我无花括号、冒号、分号
我是div5,我有花括号,但无冒号、分号

//index.styl

//1、 有花括号,冒号和分号

.div1 {

color: red;

}

//2、 无花括号,但有冒号和分号

.div2

color: green;

// 3 、无花括号、冒号,但有分号

.div3

color blue;

// 4 、无花括号、冒号、分号

.div4

color greenyellow

// 5 、有花括号,但无冒号、分号

.div5{

color rosybrown

}

2、变量用法

stylus的变量名除了不能以@开头以外,其它都可以

//html文件

变量示范

//styl文件

largeFontSize = 50px

$borderStyle=solid

.bianliang

font-size largeFontSize

border 1px $borderStyle red

3、嵌套语法

//html

我是child里的p

//styl

.parent {

border 1px solid red

.child {

border 2px solid green

p {

font-size 50px

&:hover{

color green

}

}

// hover下面的写法也可以

//p:hover{

// color red

//

//}

}

}

4、混入语法

混入示例1
混入示例2

setBorder($borderwidth = 1px) {

border $borderwidth solid red

}

.mixin1 {

width 200px

height 100px

setBorder()

}

.mixin2 {

width 200px

height 100px

setBorder(5px)

}

其实这里可以衍生出下面的语法

border-radius(values) {

-webkit-border-radius: values;

-moz-border-radius: values;

border-radius: values;

}

div {

border-radius(10px);

}

5、继承语法

有点时候不同元素但他们的一些css语句是一样的,如果不采用继承的语法,那么我们需要将各个元素单独拎出来,然后写它们的相同语法,但这样有个缺点就是,我们不能够在原来选择器中直接写样式,还需要重新写个相同的选择器再写样式。如果我们使用继承语法,就不存在这种情况了。

我是继承示例

我是parent1

我是child1

我是个没有class和id 的div

我是child1里的p--- 我是p里的span

.reset{

margin 0

padding 0

border 1px solid red

}

.jicheng{

@extend .reset

color red

.parent1{

@extend .reset

color green

.child1{

@extend .reset

color blue

p{

@extend .reset

color yellow

}

}

}

}

如果我们不使用继承的话,可能需要这样写:

.jicheng, .jicheng .parent1,.parent1 .child1,.child1 p{

margin 0

padding 0

border 1px solid red

}

.jicheng{

color red

.parent1{

color green

.child1{

color blue

p{

color yellow

}

}

}

}

6、颜色函数

其里面有内置的颜色函数,可以用来调整颜色亮度、饱和度等;举例

颜色函数

我变暗了
饱和度降低了

colorValue=red

.color-function{

background-color colorValue

.dark{

background-color darken(colorValue,50%)

}

.baohedu{

background-color desaturate(colorValue,40%)

}

}

7、运算符

运算符例子

.yunsuanfu

font-size 30px+30px

margin 10px+20px

8、条件语法

条件语句--有margin
条件语句--没有margin

box(x,y,haveMargin=false)

padding x y

if haveMargin

margin x y

.tiaojian{

div{

border 1px solid red

}

.have{

box(10px,20px,true)

}

.have-not{

box(10px,20px,false)

}

}

9、迭代语法

迭代示例

.diedai{

for n in 1 2 3

z-index n

}

运行结果

image.png

四、参考及补充资料

*本文版权归本人即简书笔名:该账户已被查封 所有,如需转载请注明出处。谢谢!

html引入stylus,css预处理器stylus基本用法相关推荐

  1. css预处理器-stylus 很少人用

    stylus Stylus由Node.JS编写,与JS堆栈完美匹配.Stylus深受Sass的逻辑能力和LESS的简单性的影响.与Sass或LESS版本相比,Stylus的一个优点是它具有极其强大的内 ...

  2. CSS预处理器stylus - 安装与使用

    CSS预处理器stylus 一.简介 (文章来源于网络总结) css预处理器有Less.Sass(Scss)及Stylus:它们各自的背景如下: 1.Sass: 2007年诞生,最早也是最成熟的CSS ...

  3. CSS预处理器 -- stylus 、sass、less

    在写CSS的时候我们会发现,为了兼容浏览器等原因,我们往往需要写很多冗余的代码,CSS预处理器就是为了解决CSS的这些问题,简化CSS代码的编写. 目前最主流的CSS预处理器是LESS.SASS和St ...

  4. 您详细比较三个 CSS 预处理器(框架):Sass、LESS 和 Stylus

    2019独角兽企业重金招聘Python工程师标准>>> CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS ...

  5. CSS预处理器语言:Sass、LESS、Stylus

    CSS预处理器语言:Sass.LESS.Stylus Sass 和 Less 都使用的是标准的 CSS 语法.默认 Sass 使用 .sass 扩展名, Less 使用 .less 扩展名,Stylu ...

  6. CSS预处理器——Sass、LESS和Stylus区别及联系

    一.什么是CSS预处器 CSS预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为CSS增加了一些编程的特性,将CSS作为目标生成文件,然后开发者就只要使用这种语言进行编码工作.通俗的说 ...

  7. CSS预处理器的对比 — Sass、Less和Stylus

    本文根据Johnathan Croom的<sass vs. less vs. stylus: Preprocessor Shootout>所译,整个译文带有我们自己的理解与思想,如果译得不 ...

  8. css预处理器 sass和stylus对比以及常用功能

    在众多的css预处理器语言中,sass和stylus算是十分优秀的两个.本文主要针对两者的常用功能做个简单的对比分析.在对比中了解二者的差异,同时帮助大家更好的掌握这两种预处理语言. 本文涉及到的sa ...

  9. 引入css预处理器,6款CSS预处理器 你值得拥有!

    CSS preprocessor (CSS预处理器)可以帮助我们编写可维护的.与时俱进的代码,也可以减少需要编写的CSS数量,这些工具对于哪些需要大量样式表和样式规则的大型用户界面是非常有帮助的. 今 ...

最新文章

  1. python操作mongodb数据库
  2. BCE或能成为BCH的一个侧链
  3. AOP||动态代理||AOP专业术语;
  4. 保护我方Id | ASP.NET Core Web API使用加密Id
  5. 怎么在php登录首页添加样式,首页登录后怎么在首页显示用户名以及隐藏登录框?...
  6. jpa动态扩展sql_扩展您的JPA POJO
  7. C++ Primer 学习笔记_72_面向对象编程 --句柄类与继承[续]
  8. java serializeutils_java序列化 SerializeUtil
  9. IMPORTANT: BizTalk Server 2004 fixes for Windows XP SP2 and .NET FW 1.1 SP1
  10. 嵌入式Linux系统编程学习之八基于文件指针的文件操作
  11. k8s学习: ErrImagePull 和 ImagePullBackOff 怎么办?
  12. 自定义Behavior 实现Listbox自动滚动到选中项
  13. 2021华为杯数学建模B题完整思路+部分代码
  14. SketchUp:SketchUp草图大师经典案例之实现柜子、书桌等设计
  15. HDU 5745 La Vie en rose(bitset优化dp)
  16. dataV实现扇形图轮播
  17. 中国慕课moocpython答案_中国大学慕课moocPython编程基础章节测试答案
  18. Standard EVB硬件开发指南(1)——LCD接口电路
  19. 产学交流 | 重庆理工大学计算机科学与工程学院信息管理系一行到访芝诺数据...
  20. 【SRE笔记 2022.8.16 Linux命令基础01】

热门文章

  1. php new reflectionclass,PHP: ReflectionClass - Manual
  2. FLOPS是什么?用于衡量超级计算机的算力
  3. 分享--linux 学习之路(学linux必看)
  4. c语言中的“/”和“%”运算
  5. Python Tkinter 小项目 RGB数值转换为16进制码
  6. 全国省市区三级Json数据
  7. 用计算机fx 95算平均数,CASIO 卡西欧 FX95ES PLUS 函数计算器 的平均数怎么算
  8. GPT-JT 是训练 AI 的新开源方法,GPT-JT 是开源的,因此与 GPT-3 直接竞争
  9. java pdfbox_使用java中的PDFBox在其中心周围旋转PDF
  10. 胡图图想学c语言呀3