我正在将 google 的 MDL 用于我正在制作的一个简单网站。我在网站上有很多按钮,在几个不同的页面上,我希望所有人都有相同的外观。起点是在按钮中包含一些 MDL 样式,如下所示:
<button class="mdl-button" style="..."/>
这很棒,但我想通过默认的 mdl 样式为按钮添加一些附加功能。我想做类似的事情:
.my_button_style {
... include mld-button style
... include mdl-xxx style
... other css parameters here
}
我已经做了一些挖掘,但似乎没有办法在创建一个新的 css 类时从其他 css 类继承属性,使用标准 CSS(不使用 LESS 之类的东西)。
这对我来说似乎很疯狂。
我在MDL网站上看到很多例子比如:
<button class="mdl-button mdl-js-button mdl-button--fab mdl-button--colored">
<i class="material-icons">add</i>
</button>
如果您希望所有按钮看起来都像这样,您真的必须为整个站点的每个按钮实例添加每一种样式吗?为什么 CSS 开发人员不使用干草叉和火炬向山景城进军?我错过了一些非常明显的东西吗?
使用标准 CSS 创建新类时,似乎无法从其他 CSS 类继承属性
那是正确的。
很难证明某个功能不存在,但是您在任何 CSS 规范中搜索任何此类功能都将徒劳无功。
由于您似乎反对任何涉及在 HTML 级别组合的正交类的设计理念的概念,因此我不会花任何额外的时间来尝试推动这种方法,也不会证明从 CSS 规范中扩展类的“遗漏”是合理的.
同时,您可以查看https://tabatkins.github.io/specs/css-extend-rule/,但这不是我所知道的任何现有或提议的规范的一部分。无论如何,这个提议本身的存在可能被视为“证明”,@extends
它在任何地方都不是 CSS 的一部分。
虽然我个人不推荐使用 SASS,但还有其他预处理器框架extends
以较少侵入性的方式提供。如果您的应用程序已经使用了任何类型的构建过程,那么添加诸如预处理步骤根本不应该是“麻烦的”,并且可能只涉及向某些配置文件添加几行。例如,您可以查看https://github.com/travco/postcss-extend。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句