6

有没有办法将单个 CSS 选择器的样式导入另一个 CSS 选择器并添加到它或从中重写属性。

比方说:

.original_class{
background:black;
color:white;
}
.overwrite{
@import(.original_class); /* I know this doesn't work */
color:blue;
border:1px solid green;
}

我可以通过重新声明 .original_class 并分配新值来实现这一点(因为 CSS 样式是从上到下重写的),但这将替换原始 CSS 类的属性。我想要的是将其属性继承到另一个类中,而不必再次编写它们(重复)。

4

3 回答 3

2

您可以通过用逗号(分组选择器.overwrite)将选择器与现有选择器分隔来将选择器添加到第一条规则,因此选择器规则变为:.original_class, .overwrite

.original_class,
.overwrite {
background: black;
color: white;
}
.overwrite {
color: blue;
border: 1px solid green;
}

另外,当你写:

这将替换原始 CSS 类的属性

CSS中没有属性和类之类的东西,我猜不是OOP的预期含义。有规则、选择器规则(选择 HTML id、类、元素、属性和其他伪)、声明、属性和值。

于 2012-06-17T13:54:36.957 回答
2

不直接,不。

你可以在你的 HTML 中做这样的事情:

<div class="original_class overwrite">...</div>

这将具有相同的效果,但是您必须对您希望以这种方式设置样式的每个元素执行此操作。

还可以选择使用 CSS 预处理器,如SASS,它支持继承/混合。

于 2012-05-25T09:37:50.800 回答
0

不幸的是没有。至少不是没有那些我不会用一英里长的杆子碰触的花哨的 CSS 插件东西之一……

当然,没有什么能阻止您在单个元素上拥有多个类。

于 2012-05-25T09:38:01.050 回答