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

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

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

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

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

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

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

W3C 简介

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

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

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

W3C 规范制定流程

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

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

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

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

预处理器百花齐放

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

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

目前社区中主要的 CSS 预处理器有以下几种:BaW28资讯网——每日最新资讯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

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

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

返回 CSS

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

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

变量

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

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

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

CSS变量的定义及使用如下,可定义的类型非常广泛。BaW28资讯网——每日最新资讯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 变量由浏览器在运行时处理,这使得它们更加强大和灵活BaW28资讯网——每日最新资讯28at.com

CSS 到 JS

在 CSS 变量出现之前,将值从 CSS 传递到 JS 非常困难,甚至需要一些 hack 技巧。现在有了 CSS 变量,可以直接通过 JS 访问变量值并进行修改。BaW28资讯网——每日最新资讯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、运算符,咱们就不再文章中一一列举了。BaW28资讯网——每日最新资讯28at.com

总结

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

不过我们还是相信随着 W3C 的推广和 CSS 本身的不断完善,CSS 预处理器终究会像CoffeScript和Jade当年一样成为过渡性的产品,到那时大家就不用再为不同 CSS 预处理器的各种环境配置和技术选择而烦恼啦。BaW28资讯网——每日最新资讯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在外观方面相比前两代有很大的变化,不再是小号的横向折叠屏,而是跟别的厂商一样采用了较为常见的
  • 卢伟冰长文解析K60至尊版 对Redmi有着里程碑式的意义

    在今天的Redmi后性能时代战略发布会结束之后,Redmi总经理卢伟冰又带来了一篇长文,详解了为什么 Redmi 要开启后性能时代?为什么选择和 MediaTek、Pixelworks 深度合作?以及后性
  • 六大权益!华为8月服务日开启:手机免费贴膜、维修免人工费

    8月5日消息,一年一度的华为开发者大会2023(Together)日前在松山湖拉开帷幕,与此同时,华为8月服务日也式开启,到店可享六大专属权益。华为用户可在华为商城Ap
  • JavaScript学习 -AES加密算法

    引言在当今数字化时代,前端应用程序扮演着重要角色,用户的敏感数据经常在前端进行加密和解密操作。然而,这样的操作在网络传输和存储中可能会受到恶意攻击的威胁。为了确保数据
  • 梁柱接棒两年,腾讯音乐闯出新路子

    文丨田静 出品丨牛刀财经(niudaocaijing)7月5日,企鹅FM发布官方公告称由于业务调整,将于9月6日正式停止运营,这意味着腾讯音乐长音频业务走向消亡。腾讯在长音频领域还在摸索。为
  • 本地生活这块肥肉,拼多多也想吃一口

    出品/壹览商业 作者/李彦编辑/木鱼拼多多也看上本地生活这块蛋糕了。近期,拼多多在App首页&ldquo;充值中心&rdquo;入口上线了本机生活界面。壹览商业发现,该界面目前主要
  • 猿辅导与新东方的两种“归途”

    作者|卓心月 出品|零态LT(ID:LingTai_LT)如何成为一家伟大企业?答案一定是对&ldquo;势&rdquo;的把握,这其中最关键的当属对企业战略的制定,且能够站在未来看现在,即使这其中的
  • 三星折叠屏手机去年销售近1000万台 今年目标定为1500万

    7月29日消息,三星率先发力可折叠手机市场,在全球市场已经取得了非常亮眼的成绩,接下来会进一步巩固和扩大这一优势。三星在推出Galaxy Z Flip5和Galax
  • OPPO K11样张首曝:千元机影像“卷”得真不错!

    一直以来,OPPO K系列机型都保持着较为均衡的产品体验,历来都是2K价位的明星机型,去年推出的OPPO K10和OPPO K10 Pro两款机型凭借各自的出色配置,堪称有
Top