vue的css预处理器stylus

本文介绍了Stylus CSS预处理器的基本使用,包括变量、函数和选择器的特性。Stylus允许更简洁的语法,如省略花括号、分号和冒号,以及强大的功能,如自定义函数和父级选择器引用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

css出了sass、less预处理器外,vue使用更加简单的写法预处理器stylus。
全面的 stylus 知识可以参考官方文档,或者张鑫旭翻译的中文文档
stylus的花括号和分号是可以省略的,不仅如此,冒号也是可以省略的,color: powderblue 你可以写成 color powderblue,没有问题。


安装

前提已经安装了nodejs。

$ npm install stylus

安装之后,运行stylus -h 可查看帮助。
运行stylus example.styl可将demo.styl文件编译成example.css文件。


基本使用

一段简单的stylus代码:

$background-color = lightblue
add (a,b = a)
	a = unit(a, px)
	b = unit(b, px)
	a+b
.list-item
.text-box
	span
		background-color: $background-color
		margin: add(10)
		padding: add(10,5)
	&:hover
		background-color:powderblue

编译后生成的 CSS 代码:

.list-item span,
.text-box span {
  background-color: #add8e6;
  margin: 20px;
  padding: 15px
}
.list-item:hover,
.text-box:hover {
  background-color: #b0e0e6;
}

为何会编译成如此css代码,下面会解释如此。


变量

$background-color = lightblue

上面的代码声明了变量 $background-color,并为其赋值 lightblue
声明之后,就可以使用这个变量了:

span
    background-color: $background-color

转换成css就是

span{
    background-color: lightblue;
}

函数

add (a, b = a)
    a = unit(a, px)
    b = unit(b, px)
    a + b

代码声明了函数 add, add 接受两个参数 ab,其中 b 的默认值是 a。
add 中调用了 stylus 的内置函数 unit,此处,unit 函数为 ab赋予了单位 px。
最后将 ab 相加,并返回结果,是的,你没有看错,没有 return,但是返回了结果。
return 居然是可以省略的,很任性了。
函数调用:

span
    margin: add(10)
    padding: add(10, 5)

转换css就是

span {
    margin: 20px;
    padding: 15px;
}

选择器&

&是父级的引用,还是来看代码。

.list-item
.text-box
    &:hover
        background-color: powderblue

转换成 CSS :

.list-item:hover,
.text-box:hover {
  background-color: #b0e0e6;
}

相信代码中已经能很明确地体现出 & 父级引用的角色了。

同时,我们也不难看出,.list-item.text-box 这两个同一级的选择器在 stylus 中是可以换行写的,只要保证缩进相同,它们就属于同一级的选择器。当然,沿用 CSS 的方式,将同一级的选择器用逗号分隔开在 stylus 中也是可以的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值