【发布时间】:2019-01-20 21:18:23
【问题描述】:
我希望有某种 CSS/样式框架可以使用严格的语义标记并导致相对较小的文件。以我现在的眼光来看,这又是一个“三选二”铁三角的例子。
这就是我的意思。我正在寻找:
某种视觉样式框架(所以我不必手动编写所有内容)
-
...它使用简单的语义 HTML,没有任何类名污染,只是为了视觉样式。这是我愚蠢而固执的观点,但我觉得标记应该始终是稀疏的、简单的和语义化的。像这样的东西:
<div class="widget">...而不是这个:
<div class="widget d-flex p-2 bd-highlight"> -
...这会导致文件相对较小。就其本身而言,框架实际上非常精简。但为了保持轻量级,它们需要声明性标记。预处理器,如 Sass,允许您直接从框架中 inherit rulesets 非常非常容易。所以你可以这样做:
.widget { @extend .d-flex; @extend .p-2; @extend .bd-highlight; }但它会很快导致绝对巨大的文件大小。规则集仍然很小,但选择器列表爆炸了。我会因为这个文件大小问题而断然拒绝这个解决方案。
我的直觉告诉我,我的选择是继续手工编写 CSS(放弃 #1)或开始在我的 html 中声明样式(放弃 #2)。
有人知道解决办法吗?我在滥用 Sass 吗?还有另一种我不知道的框架吗?我正在使用 Sass 和 React,但我愿意从那里学习任何东西。
【问题讨论】:
-
很难知道你在找什么,但是在 sass 中使用 extend 可能会导致大的规则集。用 sass 写小文件肯定是可能的。延伸短弧度:sitepoint.com/sass-extend-nobody-told-you
标签: html css sass css-frameworks