SASS是否会自动添加浏览器前缀以解决CSS兼容性问题?
关于厂商前缀的兼容性作用
你看到的-ms-、-webkit-这类是浏览器厂商前缀,确实可以解决部分旧版本浏览器的兼容问题。
在CSS特性还没成为正式W3C标准的时候,各浏览器厂商会用专属前缀提前实现实验性的功能:比如示例里的-ms-grid是IE10/11支持的Grid布局实现,-webkit-box-pack是旧版Webkit内核浏览器(老版Safari、早年安卓内置浏览器等)对弹性盒对齐属性的实现。补全这些前缀后,对应版本的浏览器就能识别并正常渲染相关样式。
SASS本身不提供兼容性优化能力
你观察到的自动补前缀的功能,根本不是SASS自带的能力。
SASS只是个CSS预处理器,核心功能只有嵌套语法、变量、mixin复用、逻辑循环这类语法拓展,本身没有自动补全厂商前缀的逻辑。你项目里能自动生成前缀,大概率是配置了PostCSS + Autoprefixer这类工具链,这类工具会根据你设定的需要兼容的浏览器版本范围,自动补全对应前缀,和SASS没有直接绑定关系。
如果只使用原生SASS不搭配额外的兼容性处理工具,完全不会自动生成这些前缀,自然也没法帮你优化CSS兼容性。而且CSS兼容性问题不止是前缀缺失这一种,部分旧浏览器对某些CSS特性完全不支持、或者实现逻辑和标准存在差异的问题,就算补了前缀也解决不了,更不是SASS能覆盖的范围。
内容的提问来源于stack exchange,提问作者bahejam379
相关产品推荐
相关产品推荐

