当前位置:首页 > 科技  > 软件

2024年了,为什么 CSS 预处理器依然火爆?

来源: 责编: 时间:2024-09-10 09:50:36 277观看
导读Hello,大家好,我是 Sunday。随着前端工程化的不断提升,CSS预处理器已经成为了项目中不可或缺的一部分,很多人在项目技术选型时都会选择一款CSS预处理器,大部分前端脚手架也包含了一系列CSS预处理的模板,大家已经习惯了CSS预

Hello,大家好,我是 Sunday。K8J28资讯网——每日最新资讯28at.com

随着前端工程化的不断提升,CSS预处理器已经成为了项目中不可或缺的一部分,很多人在项目技术选型时都会选择一款CSS预处理器,大部分前端脚手架也包含了一系列CSS预处理的模板,大家已经习惯了CSS预处理器带来的灵活、流畅的代码编写体验,而原生的CSS则被忽视了。K8J28资讯网——每日最新资讯28at.com

很多前端开发者可能还认为 CSS 预处理器是一个比较新的技术,但事实上并非如此。最早的 CSS 预处理器 Sass 诞生于 2007 年,也就是说它已经存在了 17 年。而相对较新的 Stylus 也已经发布了 14 年。K8J28资讯网——每日最新资讯28at.com

前端技术栈的发展日新月异,W3C 的 CSS 工作组也不断从社区中汲取灵感,加速 CSS 的迭代。那么,CSS 是否能够取代 CSS 预处理器的地位?CSS 预处理器是否会成为 CSS 过渡期的产物?K8J28资讯网——每日最新资讯28at.com

W3C 简介

CSS 是开放网络的核心语言之一,由W3C制定,用于跨浏览器实现。因此,在深入了解 CSS 规范更新的进展之前,有必要先了解 W3C 及其标准化进程。K8J28资讯网——每日最新资讯28at.com

W3C,又称万维网联盟或 W3C 理事会,是万维网的主要国际标准组织。它是一个半自治的非政府组织,由蒂姆·伯纳斯-李于 1994 年 10 月在麻省理工学院计算机科学和人工智能实验室 (MIT/LCS) 创立。K8J28资讯网——每日最新资讯28at.com

W3C 制定了一系列标准,并鼓励网络应用程序开发者和内容提供商遵守这些标准。这些标准涵盖了所用语言的规范、开发指南和解释引擎的行为。W3C 制定了许多有影响力的标准规范,包括HTML、DOM、SVG、XML和CSSK8J28资讯网——每日最新资讯28at.com

W3C 规范制定流程

由于我们需要在不同的阶段讨论CSS规范,因此有必要简单介绍一下W3C的规范发展过程。K8J28资讯网——每日最新资讯28at.com

根据W3C 的流程文档,推荐标准的制定要经历多个阶段。K8J28资讯网——每日最新资讯28at.com

图片K8J28资讯网——每日最新资讯28at.com

当一种语言的能力不足,而用户的运行环境又不支持其他选择时,这种语言就会成为一种“编译目标”语言,开发者会选择另一种更高级的语言进行开发,然后再编译成低级语言进行实际执行,因此在前端领域,CSS预处理器应运而生,担负起重任。K8J28资讯网——每日最新资讯28at.com

预处理器百花齐放

CSS 预处理器是一个允许您使用其自己独特的语法生成 CSS 的程序。K8J28资讯网——每日最新资讯28at.com

市面上有很多 CSS 预处理器,绝大多数都加入了原生 CSS 所不具备或者不够完善的高级特性,使得 CSS 的结构更加易读,也更加易于维护。K8J28资讯网——每日最新资讯28at.com

目前社区中主要的 CSS 预处理器有以下几种:K8J28资讯网——每日最新资讯28at.com

  • Sass:诞生于2007年,是最早最成熟的CSS预处理器,拥有Ruby社区和Compass的支持,是目前最强大的CSS框架,目前受LESS的影响,已经演化为全面支持CSS的SCSS。
  • Less:出现于 2009 年,深受 SASS 影响,但使用 CSS 语法,对大多数开发者和设计人员来说更容易上手。在 Ruby 社区之外,其支持者数量远超 SASS。其缺点是相比 SASS,可编程功能不足;但其优势在于简洁和与 CSS 的兼容性。这也影响了 SASS 向 SCSS 时代的演进。著名的 Twitter Bootstrap 就是以 LESS 作为底层语言。
  • Stylus:Stylus 是 2010 年从 Node.js 社区中诞生的 CSS 预处理器框架,主要用于为 Node 项目提供 CSS 预处理支持。因此,Stylus 是一种新型语言,可以创建类似于 SASS/LESS 的健壮、动态、富有表现力的 CSS

各种预处理器功能虽然强大,但最常用的依然是:变量,混合,嵌套规则和代码模块化。K8J28资讯网——每日最新资讯28at.com

这些功能在 css 中也有K8J28资讯网——每日最新资讯28at.com

返回 CSS

各类 CSS 预处理器在更新迭代的过程中变得越来越复杂和花哨,但大多数人还是使用同样的核心功能:变量、混合、嵌套、模块,最多一些实用功能。K8J28资讯网——每日最新资讯28at.com

这些功能在 css 中依然存在K8J28资讯网——每日最新资讯28at.com

变量

CSS 自定义属性(也称为 CSS 变量)允许我们在样式表中声明变量并通过 var() 函数使用它们。K8J28资讯网——每日最新资讯28at.com

CSS 自定义属性中的级联变量规范于 2012 年 10 月首次作为工作草案(WD)提出,并于 2015 年 10 月进入候选推荐(CR)阶段。现在浏览器支持率接近 93%。K8J28资讯网——每日最新资讯28at.com

图片图片K8J28资讯网——每日最新资讯28at.com

CSS变量的定义及使用如下,可定义的类型非常广泛。K8J28资讯网——每日最新资讯28at.com

/* 声明 */--VAR_NAME: <声明值>;/* 使用 */var(--VAR_NAME)/* 根元素选择器(全局作用域),例如 <html> */:root {  /* CSS 变量声明 */  --main-color: #ff00ff;  --main-bg: rgb(200, 255, 255);  --logo-border-color: rebeccapurple;  --header-height: 68px;  --content-padding: 10px 20px;  --base-line-height: 1.428571429;  --transition-duration: .35s;  --external-link: "external link";  --margin-top: calc(2vh + 20px);}body {  /* 使用变量 */  color: var(--main-color);}

与 SASS 预处理器变量的编译时处理不同,CSS 变量由浏览器在运行时处理,这使得它们更加强大和灵活K8J28资讯网——每日最新资讯28at.com

CSS 到 JS

在 CSS 变量出现之前,将值从 CSS 传递到 JS 非常困难,甚至需要一些 hack 技巧。现在有了 CSS 变量,可以直接通过 JS 访问变量值并进行修改。K8J28资讯网——每日最新资讯28at.com

// 定义 CSS 变量.breakpoints-data {  --phone: 480px;  --tablet: 800px;}const breakpointsData = document.querySelector('.breakpoints-data');// 获取 CSS 变量的值const phone = getComputedStyle(breakpointsData)    .getPropertyValue('--phone');// 设置 CSS 变量的新值breakpointsData.style    .setProperty('--phone', 'custom');

除此之外还有很多 css 原生能力,比如:Mixins、运算符,咱们就不再文章中一一列举了。K8J28资讯网——每日最新资讯28at.com

总结

经过一番梳理我们发现,CSS虽然在社区的刺激下加快了其更新迭代速度,但依然达不到CSS预处理器的水平,只能说在使用CSS预处理器的同时,也可以在项目中尝试一些非常优秀的CSS新特性,即:CSS preprocessor + CSS。K8J28资讯网——每日最新资讯28at.com

不过我们还是相信随着 W3C 的推广和 CSS 本身的不断完善,CSS 预处理器终究会像CoffeScript和Jade当年一样成为过渡性的产品,到那时大家就不用再为不同 CSS 预处理器的各种环境配置和技术选择而烦恼啦。K8J28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-112770-0.html2024年了,为什么 CSS 预处理器依然火爆?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 高动态星地链路通信要素及模型研究

下一篇: 为什么Tailwindcss在开发者中如此受欢迎?揭秘背后的原因!

标签:
  • 热门焦点
  • Find N3入网:最高支持16+1TB

    OPPO将于近期登场的Find N3折叠屏目前已经正式入网,型号为PHN110。本次Find N3在外观方面相比前两代有很大的变化,不再是小号的横向折叠屏,而是跟别的厂商一样采用了较为常见的
  • 2023年Q2用户偏好榜:12+256G版本成新主流

    3月份的性能榜、性价比榜和好评榜之后,就要轮到2023年的第二季度偏好榜了,上半年的新机潮已经过去,最明显的肯定就是大内存和存储的机型了,另外部分中端机也取消了屏幕塑料支架
  • 一篇文章带你了解 CSS 属性选择器

    属性选择器对带有指定属性的 HTML 元素设置样式。可以为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性。一、了解属性选择器CSS属性选择器提供了一种简单而
  • 从零到英雄:高并发与性能优化的神奇之旅

    作者 | 波哥审校 | 重楼作为公司的架构师或者程序员,你是否曾经为公司的系统在面对高并发和性能瓶颈时感到手足无措或者焦头烂额呢?笔者在出道那会为此是吃尽了苦头的,不过也得
  • 本地生活这块肥肉,拼多多也想吃一口

    出品/壹览商业 作者/李彦编辑/木鱼拼多多也看上本地生活这块蛋糕了。近期,拼多多在App首页&ldquo;充值中心&rdquo;入口上线了本机生活界面。壹览商业发现,该界面目前主要
  • AMD的AI芯片转单给三星可能性不大 与台积电已合作至2nm制程

    据 DIGITIMES 消息,英伟达 AI GPU 出货逐季飙升,接下来 AMD MI 300 系列将在第 4 季底量产。而半导体业内人士表示,近日传出 AMD 的 AI 芯片将转单给
  • SN570 NVMe SSD固态硬盘 价格与性能兼具

    SN570 NVMe SSD固态硬盘是西部数据发布的最新一代WD Blue系列的固态硬盘,不仅闪存技术更为精进,性能也得到了进一步的跃升。WD Blue SN570 NVMe SSD的包装外
  • 苹果MacBook Pro 2021测试:仍不支持平滑滚动

    据10月30日9to5 Mac 消息报道,苹果新的 14 英寸和 16 英寸 MacBook Pro 2021 上市后获得了不错的评价,亮点包括行业领先的性能,令人印象深刻的电池续航,精美丰
  • AI艺术欣赏体验会在上海梅赛德斯奔驰中心音乐俱乐部上演

    光影交错的镜像世界,虚实幻化的视觉奇观,虚拟偶像与真人共同主持,这些场景都出现在2019世界人工智能大会的舞台上。8月29日至31日,“AI艺术欣赏体验会”在上海
Top