stylus - 新生代CSS预处置惩罚框架

[复制链接]
发表于 2025-6-14 14:15:51 | 显示全部楼层 |阅读模式
stylus是什么

Stylus 是一种 CSS 预处置惩罚器,它扩展了 CSS 的功能,使得编写样式变得更轻便和高效。Stylus 允许利用嵌套、变量、混入等编程功能,这些功能可以极大地进步开发效率和代码的可维护性。

stylus中文文档

https://stylus.uihtm.com
Stylus配景介绍

Stylus,2010年产生,来自于Node.js社区,紧张用来给Node项目举行CSS预处置惩罚支持,在此社区之内有肯定支持者,在广泛的意义上人气还完全不如Sass和LESS。
Stylus被称为是一种革命性的新语言,提供一个高效、动态、和利用表达方式来生成CSS,以供浏览器利用。Stylus同时支持缩进和CSS常规样式书写规则。
什么是CSS预处置惩罚器

CSS预处置惩罚器定义了一种新的语言,其基本头脑是,用一种专门的编程语言,为CSS增加了一些编程的特性,将CSS作为目标生成文件,然后开发者就只要利用这种语言举行编码工作。普通的说,CSS预处置惩罚器用一种专门的编程语言,举行Web页面样式设计,然后再编译成正常的CSS文件,以供项目利用。CSS预处置惩罚器为CSS增加一些编程的特性,无需考虑浏览器的兼容性标题,比方你可以在CSS中利用变量、简朴的逻辑步伐、函数等等在编程语言中的一些基本特性,可以让你的CSS更加轻便、适应性更强、可读性更佳,更易于代码的维护等诸多好处。
CSS预处置惩罚器技术已经非常的成熟,而且也涌现出了许多种差别的CSS预处置惩罚器语言,好比说:Sass(SCSS)、LESS、Stylus、Turbine、Swithch CSS、CSS Cacheer、DT CSS等。云云之多的CSS预处置惩罚器,那么“我应该选择哪种CSS预处置惩罚器?”也相应成了近来网上的一大热门话题,在Linkedin、Twitter、CSS-Trick、知呼以及各大技术论坛上,许多人为此争论不休。相比过计我们对是否应该利用CSS预处置惩罚器的话题而言,这已经是很大的进步了。
到目前为止,在众多优秀的CSS预处置惩罚器语言中就属Sass、LESS和Stylus最优秀,讨论的也多,对比的也多。本文将分别从他们产生的配景、安装、利用语法、异划一几个对比之处向你介绍这三款CSS预处置惩罚器语言。相信前端开发工程师会做出自己的选择——我要选择哪款CSS预处置惩罚器。
stylus利用

安装stylus

  1. ## 安装stylus包:
  2. npm i -g stylus
复制代码


  • 生成css文件:stylus common.styl -o common.css
    其中common.styl是.styl文件的名字,common.css是我们所熟知的css文件。xx.styl文件写下的代码会在xx.css中正确编译。
  • 监听文件变革:stylus -w common.styl -o common.css
    如许我们在common.styl 写下的代码会及时编译进 common.css,便捷高效
总结

Stylus 的优势

轻便性和可读性: Stylus 的嵌套功能使得 CSS 代码更加轻便易读。通过缩进代替大括号,淘汰了样式文件的复杂度,使得维护和阅读代码变得更加直观。
功能强大: Stylus 提供了丰富的功能,如变量、混入、函数等,使得 CSS 编写更具编程能力。这些特性不但淘汰了重复代码,还进步了样式表的复用性和可维护性。
高效的开发体验: Stylus 支持自动编译和及时监控监控文件变革,资助开发者快速看到样式更改的结果。这种高效的开发流程淘汰了开发时间,进步了生产力。
stylus实例

html代码
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>手风琴</title>
  7.     <link rel="stylesheet" href="./common.css">
  8. </head>
  9. <body>
  10.     <ul class="accordion">
  11.         <li>1</li>
  12.         <li>2</li>
  13.         <li>3</li>
  14.         <li>4</li>
  15.         <li>5</li>
  16.         <li>6</li>
  17.     </ul>
  18. </body>
  19. </html>
复制代码
传统css部门:
  1. * {
  2.   margin: 0;
  3.   padding: 0;
  4. }
  5. ul,
  6. li {
  7.   list-style: none;
  8. }
  9. .accordion {
  10.   display: flex;
  11.   width: 600px;
  12.   height: 200px;
  13. }
  14. .accordion li {
  15.   flex: 1;
  16.   cursor: pointer;
  17.   transition: all 300ms;
  18.   text-align: center;
  19.   line-height: 200px;
  20. }
  21. .accordion li:nth-child(1) {
  22.   background-color: #51100b;
  23. }
  24. .accordion li:nth-child(2) {
  25.   background-color: #7e1212;
  26. }
  27. .accordion li:nth-child(3) {
  28.   background-color: #8b3a3a;
  29. }
  30. .accordion li:nth-child(4) {
  31.   background-color: #9b5757;
  32. }
  33. .accordion li:nth-child(5) {
  34.   background-color: #cf8080;
  35. }
  36. .accordion li:nth-child(6) {
  37.   background-color: #f1bfbf;
  38. }
  39. .accordion li:hover {
  40.   flex: 2;
  41.   background-color: #fff;
  42. }
复制代码
结果图:

Stylus改写样式

stylus 让css拥有各项编程能力,在嵌套 + 模块化能力上有明显体现
设置全局样式,Stylus 允许省略分号和大括号,利用缩进来表示嵌套结构, 当然假如你愿意,也可以利用大括号和分号
  1. *
  2.     margin 0
  3.     padding 0
  4. ul,li
  5.     list-style none
复制代码
设置容器样式:

Stylus 支持样式的嵌套,使得样式表更具层次感和构造性


  • 利用弹性布局和子元素flex比例分配实现等比例以及两倍比例
  • 利用hover状态,修改相应li的flex:2
  • li上设置css,transition过渡动画
  • 利用:nth-child设置差别元素的颜色
  1.   li
  2.         flex 1
  3.         cursor pointer
  4.         transition all 300ms
  5.         text-align center
  6.         line-height 200px
  7.         &:nth-child(1)
  8.             background-color rgb(81, 16, 11)
  9.         &:nth-child(2)
  10.             background-color rgb(126, 18, 18)
  11.         &:nth-child(3)
  12.             background-color rgb(139, 58, 58)
  13.         &:nth-child(4)
  14.             background-color rgb(155, 87, 87)
  15.         &:nth-child(5)
  16.             background-color rgb(207, 128, 128)
  17.         &:nth-child(6)
  18.             background-color rgb(241, 191, 191)
  19.         &:hover
  20.             flex 2
  21.             background-color rgb(255, 255, 255)
复制代码
以上,我们通过stylus就快速完成了这个手风琴结果
高级 CSS 选择器:





    • 兄弟选择器:选择紧随其后的兄弟元素。用于设置 article 元素之间的间距。

  • ~ 相邻同层选择器:选择在指定元素之后的同层兄弟元素,用于控制内容的表现。
  • :checked 伪类选择器:用于选中状态的元素,实用于 checkbox 和 radio 元素。
  • :nth-child(n) 和 :nth-of-type(n) :选择第 n 个子元素或同范例的第 n 个子元素。
实践建议

纯熟把握 Stylus 的语法和功能: 理解并运用 Stylus 的各种特性,如嵌套、变量、混入等,可以显著提升你的样式表的编写效率和质量。
关注代码可维护性: 尽管 Stylus 提供了强大的功能,但编写清晰、易于维护的代码依然至关紧张。利用模块化的方式构造样式,制止样式冲突,提升代码的可读性。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表