Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[css] 第24天 你有用过CSS预处理器吗?喜欢用哪个?原理是什么? #83

Open
haizhilin2013 opened this issue May 9, 2019 · 15 comments
Labels
css css

Comments

@haizhilin2013
Copy link
Collaborator

第24天 你有用过CSS预处理器吗?喜欢用哪个?原理是什么?

@haizhilin2013 haizhilin2013 added the css css label May 9, 2019
@yangyl568
Copy link

yangyl568 commented May 10, 2019

它能让你的CSS具备更加简洁、适应性更强、可读性更强、层级关系更加明显、更易于代码的维护等诸多好处。
CSS预处理器种类繁多,目前Sass、Less、用的比较多。
使用功能:
1、嵌套:反映层级和约束
2、变量和计算: 减少重复代码
3、Extend 和 Mixin 代码片段 (用的少)
4、循环:适用于复杂有规律的样式
5、import css 文件模块化
具体使用方法 均可百度

@AnsonZnl
Copy link
Contributor

AnsonZnl commented May 10, 2019

用过sass、less、,比较喜欢sass吧。至于原理,我在网上看了一下,文档比较少。
比较赞同segmentfault上的一个回答:

面试官应该不会问太过细节的东西。这道题能说出AST(抽象语法树)并能知道大概AST的原理就OK了

参考:

@hbl045
Copy link

hbl045 commented May 10, 2019

补充stylus,这个也是新的css预处理器。据说更好用,但是面试的时候,感觉用的公司不多。我也没学完这个编辑器。

@xjt31012
Copy link

没用过,一直想用来着~

@naokimidori
Copy link

用过less 和 sass 预处理器。个人更喜欢用less。这类预处理器包含一套语法和解析规则,能够为css加入程序式语言

@haizhilin2013
Copy link
Collaborator Author

@AnsonZnl 是的,大多数面试官我估计都不知道什么是AST,呵呵,当然我们在学习过程中,如果有精力可以再深入一些是没问题的。比如说了解下AST也是不错的选择,不单纯地为了应付面试!

@yxkhaha
Copy link

yxkhaha commented May 11, 2019

  • 用过 less stylus

@tzjoke
Copy link

tzjoke commented May 28, 2019

stylus scss sass less我都用过。。stylus,scss我常用,scss嵌套爽,stylus选择器爽,公司还有ext项目,绑定的sass,它的好处就是有bourbon,less毕业设计bootstrap用过,也就用过那一次。

@larry0442
Copy link

css预编译,scss,less,stylus都算是用过,比纯css爽的当然是mixin include,让css有了编程语言一样的感觉

@blueRoach
Copy link

less和scss都用过,less用得比较多一些
嵌套功能让css像html一样结构化,不管是从书写还是查看维护都更轻松
声明变量让后期修改界面整体样式变得轻松

原理就是 预处理器有自己的一套方便的规则,最后通过解析生成css

@MrZ2019
Copy link

MrZ2019 commented Sep 24, 2020

它能让你的CSS具备更加简洁、适应性更强、可读性更强、层级关系更加明显、更易于代码的维护等诸多好处。
CSS预处理器种类繁多,目前Sass、Less、用的比较多。
使用功能:
1、嵌套:反映层级和约束
2、变量和计算: 减少重复代码
3、Extend 和 Mixin 代码片段 (用的少)
4、循环:适用于复杂有规律的样式
5、import css 文件模块化
具体使用方法 均可百度

@zxcdsaqwe123
Copy link

只使用过less

@amikly
Copy link

amikly commented Nov 11, 2021

常用的 CSS 预处理器

  • SASS:基于 Ruby,通过服务端处理,功能强大。解析效率高。需要学习 Ruby 语言,上手难度高于 LESS
  • LESS:基于 NodeJS,通过客户端处理,使用简单。功能比 SASS 简单,解析效率也低于 SASS

原理

AST 抽象语法树,是源代码的抽象语法结构树状表现形式,

@Iambecauseyouare
Copy link

没有用过啊

@never123450
Copy link

Sass和Less是两种常见的CSS预处理器,它们的工作原理类似。下面我将分别解释它们的编译原理:

  1. Sass编译成CSS的原理:

    • Sass使用一种被称为"Sass语法"的扩展语法,它允许开发者使用缩进和嵌套来组织CSS代码。
    • 在编译过程中,Sass编译器会将Sass代码转换为标准的CSS代码。
    • Sass编译器会解析Sass文件,处理其中的变量、嵌套规则、混合和继承等特性,并将其转换为相应的CSS代码。
    • 最终生成的CSS代码可以通过Sass编译器输出到指定的CSS文件中,或者在开发环境中直接使用。
  2. Less编译成CSS的原理:

    • Less使用一种类似CSS的语法,它扩展了CSS的功能,允许使用变量、嵌套规则、混合等特性。
    • 在编译过程中,Less编译器会将Less代码转换为标准的CSS代码。
    • Less编译器会解析Less文件,处理其中的特性,并将其转换为相应的CSS代码。
    • 最终生成的CSS代码可以通过Less编译器输出到指定的CSS文件中,或者在开发环境中直接使用。

总结来说,Sass和Less编译器会解析预处理器的特定语法和功能,并将其转换为普通的CSS代码。这样,开发者可以使用预处理器提供的便利功能来编写样式,并在编译阶段将其转换为浏览器可识别的CSS代码。这样可以提高样式的可读性、可维护性,并使开发过程更加高效。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
css css
Projects
None yet
Development

No branches or pull requests