Stylus 是一个富有表现力的、动态的、健壳的 CSS 预处理器,它允许开发者使用更加高级的技术来编写 CSS,使得 CSS 代码更加简洁和强大。Stylus 可以帮助开发者使用变量、混合(mixins)、函数等功能来创建更加模块化和可重用的 CSS。
### Stylus 的特点
1. **动态**:支持变量和函数,可以基于条件和循环生成样式。
2. **灵活**:语法非常灵活,可以选择性地使用大括号和分号。
3. **功能丰富**:支持嵌套、继承、mixins、导入等高级 CSS 功能。
4. **易于集成**:可以与多种构建工具和框架(如 Webpack、Gulp、Express 等)无缝集成。
### 如何引入 Stylus
#### 安装 Stylus
首先,你需要安装 Node.js,因为 Stylus 是通过 Node.js 来安装和运行的。安装 Node.js 后,你可以通过 npm(Node.js 的包管理器)安装 Stylus。
```bash
npm install stylus -g
```
这个命令将 Stylus 安装为全局可用的命令行工具。
#### 基本使用
1. **创建一个 Stylus 文件**:创建一个扩展名为 `.styl` 的文件,比如 `style.styl`。
2. **编写 Stylus 代码**:在 `style.styl` 文件中可以使用 Stylus 的语法来编写 CSS。例如:
```stylus
main-color = #333
body
font: 12px Helvetica, Arial, sans-serif
color: main-color
a
color: blue
&:hover
color: darken(blue, 10%)
```
3. **编译 Stylus 文件**:使用 Stylus 命令行工具来编译 `.styl` 文件到 `.css` 文件。
```bash
stylus style.styl -o style.css
```
这会创建一个 `style.css` 文件,其中包含从 Stylus 代码生成的 CSS。
#### 集成到项目中
如果你正在使用如 Webpack 或 Gulp 等构建工具,可以通过相应的插件或加载器来集成 Stylus。
- **Webpack**:使用 `stylus-loader` 来处理 `.styl` 文件。
安装 `stylus-loader` 和 `stylus`:
```bash
npm install stylus stylus-loader --save-dev
```
在 `webpack.config.js` 中配置 loader:
```js
module.exports = {
module: {
rules: [
{
test: /\.styl$/,
use: [
'style-loader',
'css-loader',
'stylus-loader'
]
}
]
}
}
```
- **Gulp**:使用 `gulp-stylus` 插件来编译 Stylus 文件。
安装 `gulp-stylus`:
```bash
npm install gulp-stylus --save-dev
```
在 Gulp 任务中使用它:
```js
const gulp = require('gulp');
const stylus = require('gulp-stylus');
gulp.task('styles', function () {
return gulp.src('./styles/*.styl')
.pipe(stylus())
.pipe(gulp.dest('./css'));
});
```
以上步骤展示了如何在你的项目中引入和使用 Stylus,使你的 CSS 开发过程更加高效和灵活。