如何制作一个 css 类,它是另一个的修改?

阿尔维翁

我正在将 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 开发人员不使用干草叉和火炬向山景城进军?我错过了一些非常明显的东西吗?

用户663031

使用标准 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用一个对象,它是另一个类的特定变量?

使:focus更改另一个类的CSS

如何使用CSS切换基于另一个的一个开关?

激活另一个类的悬停CSS?

如何强制从另一个文件使用CSS类?

CSS悬停效果修改另一个元素不起作用

如何将CSS类应用于AngularDart中的另一个组件?

当一个元素悬停并影响CSS中的另一个元素/类时,如何添加悬停效果?

如何删除一个类属性,它是另一个类的列表

CSS nth类在另一个类中

一个CSS类依赖于另一个

CSS如何在另一个div中选择一个类

如何使用CSS在另一个圆圈内制作一个圆圈

如何使用CSS从另一个div隐藏一个div

如何根据另一个具有特定类的元素设置一个元素的CSS?

CSS-另一个类中的类

用另一个类覆盖CSS类中的第一个孩子

CSS:使用一个类/ ID的编号作为另一个类/ ID的值

使用CSS单击另一个元素时如何显示一个元素?

使用CSS,如何按其类修改子元素而不影响具有相同类但父元素稍有不同的另一个子元素

如何使用 css 在倾斜的父容器内制作另一个倾斜容器

如何从另一个类修改数组

如何确保一个元素不被另一个(CSS)覆盖?

在另一个组件中修改一个组件模板的 CSS

如何根据是否存在另一个 CSS 类组合来更改 CSS 类?

如何制作一个 CSS 类来制作两个文本行,如标题和副标题?

如何在css中将一个容器放在另一个容器之上?

如何制作一个改变另一个元素类的按钮?

如何使用 flex 使一个在右侧对齐,另一个在左侧对齐 - CSS?