stylus的语法特点及特性有哪些

2021-02-26 10:13发布

3条回答
那些年很冒险的梦。
2楼 · 2021-03-01 09:45

  • 冒号可选

  • 分号可选

  • 逗号可选

  • 括号可选

基于缩进,空格有重要的意义

Stylus就跟CSS一样,允许你使用逗号为多个选择器同时定义属性。

textarea, inputborder 1px solid #eee

使用新行是一样的效果

textareainputborder 1px solid #eee

父级引用

字符&指向父选择器。下面这个例子,我们两个选择器(textareainput)在:hover伪类选择器上都改变了color

textareainputcolor #A7A7A7&:hovercolor #000

 等同于:

textarea,input {color: #a7a7a7;}textarea:hover,input:hover {color: #000;}

消除歧义

类似padding - n的表达式可能既被解释成减法运算,也可能被释义成一元负号属性。为了避免这种歧义,用括号包裹表达式:

 

  • 变量

  • 插值

  • 混合书写

  • 算术

  • 强制类型转换

  • 动态导入

  • 条件

  • 迭代

  • 嵌套选择

  • 父级参考

  • 变量函数调用

  • 词法作用域

  • 内置函数(>25)

  • 内部语言函数

  • 压缩可选

  • 图像内联可选

  • 可执行Stylus

  • 健壮的错误报告

  • 单行和多行注释

  • CSS字面量

  • 字符转义

  • TextMate捆绑

  • 以及其他更多


梵梵
3楼 · 2021-03-04 10:08
  • 冒号可有可无

  • 分号可有可无

  • 逗号可有可无

  • 括号可有可无

  • 变量

  • 插值(Interpolation)

  • 混合(Mixin)

  • 数学计算

  • 强制类型转换

  • 动态引入

  • 条件表达式

  • 迭代

  • 嵌套选择器

  • 父级引用

  • Variable function calls

  • 词法作用域

  • 内置函数(超过 60 个)

  • 语法内函数(In-language functions)

  • 压缩可选

  • 图像内联可选

  • Stylus 可执行程序

  • 健壮的错误报告

  • 单行和多行注释

  • CSS 字面量

  • 字符转义

  • TextMate 捆绑


征戰撩四汸
4楼 · 2022-05-18 16:31

特性:

富于表现力、具有健壮性、功能丰富、动态编码
不需要写CSS的冒号、分号、大括号
和LESS、SASS功能类似,会这些的入手很快



(一)选择器

1.冒号,分号,大括号可写可不写
2.后代关系用相同缩进表示
3.父子关系用 >表示
4.伪类元素用 & 表示其宿主元素
5.属性写在前, 嵌套子元素样式写在后
6.分组选择器用相同缩进即可, 如 +a +span +span

(二)变量

1.定义变量并赋值(建议用 作 为 变 量 前 缀 ) , 如 ‘ 作为变量前缀), 如` 作为变量前缀),如‘width=3px`

2.定义函数(arguments为内置所有参数, 也可自定义参数), border() $width dashed #foo

3.函数参数可以写默认值,类似于es6的解构赋值, 如 padding(top=1px,right=2px)

3.方法名加() 为调用函数,如 border()

4.建议变量定义在最上面, 然后是函数, 然后才是代码. 最好的方式是变量和函数定义成单独的文件, 然后通过@import variable.styl 导入

5.使用@height 会冒泡查找值, 如自身有此属性则获取该属性值; 否则层层向上查找该属性, 如果都没有则报错

6.可以使用运算符进行计算

7.z-index 1 unless @z-index 表示默认 z-index=1 除非 @z-index 存在

(三)插值

  • 1.实现类似 autoprefixer.css 的效果给兼容属性加前缀

  • 2.使用循环 for in 减少代码量

  • 3.使用 if-else 判断逻辑

(四)运算符

(五)内置函数

(六)尾参数

1.可以使用 args... 或者 arr... 等接受所有参数; 前面也可以单个接受参数; 但是 尾参数写法只能作为最后一个参数

2.也可以使用 args[0] 或者 arguments[0] 这种下标的方式访问

3.args... 会忽略 , ;如果希望不忽略请使用 arguments


(七)@extend继承

1.使用 @extend 将公共样式抽取, 用子类继承; 在html中可以少写一个类名 ,如 class="btn btn-primary" 只需要写成 class="btn-primary"


相关问题推荐

  • 回答 120

    相对前几年来说,要高上不少了,毕竟入行的人也是越来越多了,基础的工作对应想要参与的人群基数越来越大,但是对于高端人才的需求还是很多,人才还是相对稀缺性的。所以,想要学web或者其他技术也一样,别等,别观望。web前端就业方向特别多包括web前端开发...

  • 回答 25

    相对定位和绝对定位是定位的两种表现形式,区别如下:一、主体不同1、相对定位:是设置为相对定位的元素框会偏移某个距离。2、绝对定位:absolute 脱离文档流,通过 top,bottom,left,right 定位。二、特点不同1、相对定位:在使用相对定位时,无论是否进行移...

  • 抓包是什么意思?2020-04-01 17:36
    回答 7
    已采纳

    抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。抓包可以通过抓包工具来查看网络数据包内容。通过对抓获的数据包进行分析,可以得到有用的信息。目前流行的...

  • 回答 89

    常用的前端框架有Bootstrap框架、React框架、Vue框架、Angular框架、Foundation框架等等

  • 回答 65
    已采纳

    前端是目的就业前景非常不错的一个计算机技术,但是自学的话还是有一定难度的,网络上自学是碎片化的,同时互联网技术跟新换代快,自己的话比较吃力也学习不到最新的技术。

  • SSR 是什么意思?2020-03-20 18:56
    回答 6

    SSR就是一台服务器,可以利用 SSR 在远程的服务器上配置 SSR,使其能够成为 SSR 节点,这样本地电脑或者其它设备利用 SSR 节点实现 VPN 或者远程上网及游戏加速等方面。ShadowsocksR(简称 SSR)是 Shadowsocks 分支,在 Shadowsocks 的基础上增加了一些数据...

  • 回答 52
    已采纳

    计算机培训方向比较多,建议找适合自己的方向选择培训编程类:JAVA、WEB、Python、C/C++、C#等测试类:软件测试运维类:云计算、网络安全设计类:UI设计、3D建模等

  • 回答 11

    1、代码判断xAxis: {type: 'time',splitLine: {show: false},interval: 3600, // 设置x轴时间间隔axisLabel: {formatter: function(value, index) {return liangTools.unix2hm(value)}}},首先要把xAxis 显示类型设置成time,然后设置对应X轴......

  • 回答 8

    HTML5 + CSS + JavaScript 开发 跨平台重用代码 

  • 回答 4

    采用rem单位自动响应,并提供独有栅格化系统快速定义宽高、边距节省css代码量,同时总结各大型移动端网页,提供一套ui颜色搭配规范,尺寸规范,字体规范等。

  • 回答 10

    iView UI、ioni、SUI

  • 回答 6

     jQTouch 

  • 回答 4

    如果只是普通的移动端用vue react 或者dva 如果是要编译成小程序什么的或者混生 就用uni-app(对应vue语法)taro(对应react) 或者纯原生 这个没有限制的,自己怎么舒服怎么来

  • 回答 4

    因为可以运用在网页和小程序的开饭中,而且开源,用着便宜,企业都很喜欢

  • 回答 10

    一、Visual Studio Code下载地址:https://code.visualstudio.com/微软在2015年4月30日Build 开发者大会上正式宣布了 Visual Studio Code 项目:一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。Visual Stud...

  • 回答 9

    jQuery自带淡入淡出效果 https://www.w3school.com.cn/jquery/jquery_fade.asp 看看这个 

没有解决我的问题,去提问