时间:2021-05-08
stylus介绍
是个什么鬼?对于开发来说,CSS的弱点在于静态化。我们需要一个真正能提高开发效率的工具,LESS, SASS都在这方面做了一些贡献。
Stylus 是一个CSS的预处理框架,2010年产生,来自Node.js社区,主要用来给Node项目进行CSS预处理支持,所以 Stylus 是一种新型语言,可以创建健壮的、动态的、富有表现力的CSS。比较年轻,其本质上做的事情与 SASS/LESS 等类似,应该是有很多借鉴,所以近似脚本的方式去写CSS代码。
Stylus默认使用 .styl 的作为文件扩展名,支持多样性的CSS语法。
Stylus功能上更为强壮,和js联系更加紧密。所以我选择 Stylus,SASS 玩儿过一段时间,主要是这玩意依赖ruby运行,所以我放弃使用了。
Stylus安装
全局安装,安装之前你需要你安装 nodejs 这个怎么安装搜去哦。
复制代码代码如下:$ npm install stylus -g
这样就算是安装完Stylus了,也可以正常使用Stylus。
复制代码代码如下:Usage: stylus [options] [command] [< in [> out]]
[file|dir ...]
Commands:
help <prop> Opens help info for <prop> in
your default browser. (OS X only)
Options:</p><p> -u, --use <path> Utilize the stylus plugin at <path>
-i, --interactive Start interactive REPL
-w, --watch Watch file(s) for changes and re-compile
-o, --out <dir> Output to <dir> when passing files
-C, --css <src> [dest] Convert CSS input to Stylus
-I, --include <path> Add <path> to lookup paths
-c, --compress Compress CSS output
-d, --compare Display input along with output
-f, --firebug Emits debug infos in the generated css that
can be used by the FireStylus Firebug plugin
-l, --line-numbers Emits comments in the generated CSS
indicating the corresponding Stylus line
-V, --version Display the version of Stylus
-h, --help Display help information
生成CSS
命令行中
建立一个stylusExample/,再在里面建立 src 目录专门存放 stylus 文件,在里面建立 example.styl 文件。然后在 stylusExample 目录下面执行下面命令
复制代码代码如下:$ stylus --compress src/
输出compiled src/example.css ,这个时候表示你生成成功了,带上--compress参数表示你生成压缩的CSS文件。
$ stylus --css css/example.css css/out.styl CSS转换成styl
$ stylus help box-shadow CSS属性的帮助
$ stylus --css test.css 输出基本名一致的.styl文件
grunt生成
grunt生成 就比较爽歪歪了,具体grunt怎么玩儿,俺写了个教程Grunt教程-前端自动化 可以学习以下。
stylusExample 目录下创建两个文件,这两个文件是grunt必备文件。
package.json:用于保存项目元数据。
Gruntfile.js:用于配置或定义任务、加载 Grunt 插件。
package.json 内容
JavaScript Code复制内容到剪贴板然后安装必备插件,这些插件让stylus文件变更了自动生成,生成到相对应的文件目录中。如果报错你需要在命令行前面加上sudo,给它最大的执行权限。
npm install grunt --save-dev
npm install grunt-contrib-watch --save-dev :监视文件变动,做出相应动作。npm>>
npm install grunt-contrib-stylus --save-dev :stylus编写styl输出css npm>>
安装出现这样的警告 npm WARN package.json test@1.0.0 No README data 可以不理会,如果你看着不舒服,你需要在stylusExample目录下面建立一个 README.md 文件并输入内容。也可命令执行 echo "#stylus 学习" >> README.md
插件执行完毕之后 package.json 文件变成了这样样子滴。
JavaScript Code复制内容到剪贴板这个时候你需要使用这些插件儿完成你的任务需要在Gruntfile.js里面写你的执行任务。
注意读懂上面的哦,目录高对哦,这些没有必要提醒哦,这个时候你可以好好耍一下stylus
Stylus应用
这个时候真正的开始玩耍了哦。
Try Stylus!
stylus
CSS Code复制内容到剪贴板编译成
CSS Code复制内容到剪贴板stylus : 强大的功能丰富的语言
CSS Code复制内容到剪贴板编译成
CSS Code复制内容到剪贴板nibStylus插件
stylus
CSS Code复制内容到剪贴板编译成
CSS Code复制内容到剪贴板Nesting(嵌套)
stylus
CSS Code复制内容到剪贴板编译成
header #logo {
border: 1px solid #f00;
}
Flexible syntax(灵活的用法)
stylus
CSS Code复制内容到剪贴板编译成
CSS Code复制内容到剪贴板Flexible &(灵活&)
stylus
CSS Code复制内容到剪贴板编译成
CSS Code复制内容到剪贴板Functions 方法
返回值
stylus
CSS Code复制内容到剪贴板编译成
CSS Code复制内容到剪贴板Transparent mixins
不带参数
stylus
CSS Code复制内容到剪贴板编译成
CSS Code复制内容到剪贴板默认参数
不带参数
stylus
CSS Code复制内容到剪贴板函数体
通过内置unit()把单位都变成px, 因为赋值在每个参数上,因此,我们可以无视单位换算。
CSS Code复制内容到剪贴板多个返回值
通过内置unit()把单位都变成px, 因为赋值在每个参数上,因此,我们可以无视单位换算。
CSS Code复制内容到剪贴板Variables(变量)
常用方法
编译成
CSS Code复制内容到剪贴板变量放在属性中
stylus
CSS Code复制内容到剪贴板编译成
CSS Code复制内容到剪贴板块属性访问引用
stylus
CSS Code复制内容到剪贴板编译成
CSS Code复制内容到剪贴板属性有条件地定义属性
stylus:指定z-index值为1,但是,只有在z-index之前未指定的时候才这样:
CSS Code复制内容到剪贴板编译成
CSS Code复制内容到剪贴板向上冒泡
stylus:属性会“向上冒泡”查找堆栈直到被发现,或者返回null(如果属性搞不定)下面这个例子,@color被弄成了blue.
CSS Code复制内容到剪贴板编译成
CSS Code复制内容到剪贴板Iteration(迭代)
stylus
CSS Code复制内容到剪贴板编译成
C# Code复制内容到剪贴板Interpolation(插值)
stylus
CSS Code复制内容到剪贴板编译成
CSS Code复制内容到剪贴板Operators(运算符)
运算符优先级
下表运算符优先级,从最高到最低:
.
[]
! ~ + -
is defined
** * / %
+ -
... ..
<= >= < >
in
== is != is not isnt
is a
&& and || or
?:
= := ?= += -= *= /= %=
not
if unless
@import
@import "reset.css"
当使用@import没有.css扩展,会被认为是Stylus片段(如:@import "mixins/border-radius")。
@import工作原理为:遍历目录队列,并检查任意目录中是否有该文件(类似node的require.paths)。该队列默认为单一路径,从filename选项的dirname衍生而来。 因此,如果你的文件名是/tmp/testing/stylus/main.styl,导入将显现为/tmp/testing/stylus/。
@import也支持索引形式。这意味着当你@import blueprint, 则会理解成blueprint.styl或blueprint/index.styl. 对于库而言,这很有用,既可以展示所有特征与功能,同时又能导入特征子集。
@font-face
stylus
CSS Code复制内容到剪贴板编译成
CSS Code复制内容到剪贴板@media
stylus
CSS Code复制内容到剪贴板编译成
CSS Code复制内容到剪贴板stylus
CSS Code复制内容到剪贴板编译成
CSS字面量(CSS Literal)
stylus
CSS Code复制内容到剪贴板编译成
CSS Code复制内容到剪贴板声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
什么是less?Less是一门CSS预处理语言,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS更易维护和扩展。引言现在前端的vue框架
你可以在创建项目的时候选择预处理器(Sass/Less/Stylus)。如果当时没有选好,内置的webpack仍然会被预配置为可以完成所有的处理。你也可以手动安
在文章中,我们将对输入到机器学习模型中的数据集进行预处理。这里我们将对一个硬币数据集进行预处理,以便以后在监督学习模型中进行训练。在机器学习中预处理数据集通常涉
有了Bootstrap前端框架预处理好的排版类,我们从此不必再为每个排版的标签元素写大量的CSS代码了,可以使用Bootstrap的排版特性,您可以创建标题、段
webpack的loaders是一大特色,也是很重要的一部分。这遍博客我将分类讲解一些常用的laoder一、loaders之预处理css-loader处理css