AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

Sass 3 兼容 CSS3,支持选择器继承

  • 2010-05-25
  • 本文字数:1110 字

    阅读完需:约 4 分钟

当 InfoQ 上一次在网站上发表 Sass 样式表语言访谈的时候,项目维护者 Nathan Weizenbaum 就已经承诺未来的 Sass 将会在当前语法的基础上增加对类 CSS 的括号语法的支持。现在,Haml/Sass 3已经基本完成,预期发布时间是五月十号,其主要特性便是在 Sass 语法上的改变:

毫无疑问第三版的焦点将会集中在 Sass 上。但是我们也会将部分精力放在 Haml 上。不过考虑到兼容性,当前我们肯定会继续使用代码稳定的 2.4 版。

新 Sass 语法叫做 SCSS(Sassy CSS),它是 CSS3 的一个超集

这就是说它 100% 兼容 CSS3:每一个有效的 CSS3 文件也是有效的 SCSS 文件。不仅如此,它还支持我们能够找到的所有扩展,甚至包括一些非标准语法,例如微软的 expression() 函数和 filter 属性。

Sass 使用变量、操作、嵌套选择器(selector)和 Mixin 来增强样式表,这些基本功能在新版本没有任何改变。 Sass 修改后的语法希望能够尽量减少和 CSS 语法的差异,以吸引更多的用户使用。修改语法的另一个好处是可以使得 CSS 工具更容易支持 Sass。 Sass 的旧有语法将会继续存在并且能够为旧版本用户提供良好兼容性。但是,将 SCSS 和 CSS3 强制兼容付出的一个代价就是不得不废弃 Sass 的一些句法特性:变量前缀的“!”号(现在使用的是“$”号)以及赋值时候的“=”号(现在是使用“:”号)。处理引号中用于显示的字符串的语法也改变了。

另外一个 Sass 的新特性是 @extend 指令,这个指令允许一个选择器继承任意选择器的所有样式

设计网页的时候经常会遇到这样的情况:一个类可能除了自己的样式外,还需要其他类的所有样式。处理这种情况最常用的办法是在 HTML 中使用一个泛化的类和一个特化的类。

不幸的是,这就意味着我们不得不一直牢记同时使用(例如).error 和.seriousError。这将会导致沉重的维护负担,诡异的 bug 以及无效样式。

@extend 是通过插入扩展选择器(例如.seriousError)发挥作用的,无论这个扩展选择器(例如.error)在样式表的何处出现。

迄今为止, xCSS 是所有 CSS 编译器中对选择器完全继承特性支持最好的。但是,完全继承中最重要的一块仍然不被 xCSS 支持:.seriousError 只能选择器恰好是.error 的时候才能继承,而选择器是.error.instrusion 或者.admin.error 则无法继承。

Sass 3 同样也支持源文件在 CSS、Sass 和 SCSS 之间相互转换,并且支持将 Sass 2 语法转换为 Sass 3 语法。

Sass::Plugin 是一个在 Sass 文件更改时候自动更新 CSS 文件的工具,在新版本中性能会做出巨大提升。不仅如此,使用–watch 参数,在 sass 命令行中可以启用自动升级功能。

Haml 的改变包括 HTML5 自定义数据属性的生成和多行语法的简化。

查看英文原文: Sass 3 Delivers CSS Compatibility, Selector Inheritance

2010-05-25 20:542014
用户头像

发布了 90 篇内容, 共 36.0 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

TiDB v7.1.0 资源管控功能是如何降低运维难度和成本-实现集群资源最大化?

TiDB 社区干货传送门

实践案例 版本测评 性能测评 应用适配 7.x 实践

TiKV集群断电(灾难)恢复过程记录

TiDB 社区干货传送门

6.x 实践

TiDB 7.1 资源管控验证测试

TiDB 社区干货传送门

版本测评 新版本/特性解读 7.x 实践

快速提效,便捷易用 | 嘉为蓝鲸数字化运营中心全方位体验升级

嘉为蓝鲸

运维 IT weops

数据库运维实操优质文章分享(含Oracle、MySQL等) | 2023年6月刊

墨天轮

MySQL 数据库 oracle postgresql 国产数据库

亿级日活业务稳如磐石 华为云发布性能测试服务CodeArts PerfTest

华为云PaaS服务小智

云计算 软件开发 性能测试 华为云

这10个强大的CSS属性,每个前端都要懂

伤感汤姆布利柏

云数据库是杀猪盘么,去掉中间商赚差价,aws数据库性能提升 10 倍!价格便宜十倍。

TiDB 社区干货传送门

数据库架构设计 7.x 实践

成都堡垒机采购选择哪家好?具体功能有哪些?具体多少钱?

行云管家

网络安全 信息安全 成都 堡垒机

一份保姆级的Stable Diffusion部署教程,开启你的炼丹之路 | 京东云技术团队

京东科技开发者

人工智能 AI绘画 Stable Diffusion 企业号 7 月 PK 榜

新能力提升全面预算管理效率和效力

用友BIP

全面预算

tidb之旅——dm工具篇

TiDB 社区干货传送门

迁移 安装 & 部署 6.x 实践

tidb之旅——生成列

TiDB 社区干货传送门

新版本/特性解读 7.x 实践

索引加速功能真能提升10倍吗?--TiDB V6.1.0-V7.1.0建索引速度对比

TiDB 社区干货传送门

版本测评 性能测评 7.x 实践

科研类项目核算的“法、术、器”(一)

用友BIP

项目云

简单三步完成离线升级TIDB v7.1(服务器无互联网环境)

TiDB 社区干货传送门

版本升级 7.x 实践

TiDB 7.1.0 LTS 特性解读 | 资源管控 (Resource Control) 应该知道的 6 件事

TiDB 社区干货传送门

版本测评 新版本/特性解读 7.x 实践

tidb之旅——tidb架构选择

TiDB 社区干货传送门

迁移 安装 & 部署 6.x 实践

干货满满!阿里、京东、网易等多位专家力荐的高并发编程速成笔记

小小怪下士

Java 编程 程序员 高并发

gRPC 接口调试利器,让你成为高效开发者

Apifox

程序员 gRPC RPC 开发 RPC 协议实现原理

《2022-2023年中国大数据市场研究年度报告》正式发布,腾讯云位列领导者行列

极客天地

TiDB v7.1.0 跨业务系统多租户解决方案

TiDB 社区干货传送门

实践案例 新版本/特性解读 应用适配 HTAP 场景实践 7.x 实践

aws上采用tidb和原生使用aws rds价格的比较。兼数据分析性能的测试

TiDB 社区干货传送门

TiDB 底层架构 性能测评 7.x 实践

推荐!十个平台工程工具助力开发人员提升效率和体验

SEAL安全

架构成长之路 | 图解分布式共识算法 Paxos 议会协议

阿里技术

分布式 PAXOS Paxos 议会协议

活动预告|7月29日 Streaming Lakehouse Meetup·北京站

Apache Flink

大数据 flink 实时计算 信息推送

阿里云瑶池数据库出席2023可信数据库发展大会,PolarDB荣获多项评测证书

科技热闻

# 文盘Rust -- FFI 浅尝

TiDB 社区干货传送门

开发语言

tidb之旅——资源管控

TiDB 社区干货传送门

新版本/特性解读 7.x 实践

华为开发者大会:软件开发小白的华为云云上初体验

华为云PaaS服务小智

云计算 软件开发 华为云 华为开发者大会2023

Sass 3兼容CSS3,支持选择器继承_Ruby_Paul Blair_InfoQ精选文章