将CSS从一个类复制到另一个类?

时间:2009-07-31 09:18:49

标签: jquery css web stylesheet

这似乎是一个非常基本的问题,但我似乎没有找到答案。 我知道可以一次为多个元素定义一个css规则:

.element1, .element2{
  font-size:14px;
}

是否有可能做同样的事情,但是在定义了element1的css之后将css应用于元素?像这样:

.element1{
  font-size:14px;
}

/*later in the css... or in a separate file*/

.element2{
 like:".element1";
 font-weight:bold;
}

因此element2现在继承了元素一的css。 我尝试这样做的原因是因为我有一个为网站的所有页面加载的element1的css定义。然后,对于一个特定的页面(加载主css文件,以及它自己的),我想使用element1中的样式并添加到它。 我要避免的是为网站上的所有页面加载element2的定义(包括那些甚至没有元素[s]和类element2的人。

可以这样做吗? 我意识到我可以使用jQuery(即$(".element2").addClass(".element1");)轻松实现这一点,但我想避免为我的CSS使用脚本。

谢谢!

5 个答案:

答案 0 :(得分:8)

您可以使用:

<div class="element1 element2">

.element1{
  font-size:14px;
}

.element2{
  font-weight:bold;
}

因此两个类都适用。 jQuery非常聪明,可以添加类并删除这样的类。

此外,你可以使用像SASS更高级的东西,它们可以混合使用。

答案 1 :(得分:1)

据我所知,不,仅凭CSS就无法做到这一点。你已经确定了实现目标的一种方法,我不得不建议这是更好的方法。

在CSS中,一个类只能从其父级继承,然后才能继承<example-attribute>: inherit;(我已经将其用于color:background-color:font-family:,{{ 1}}虽然我警告你,如果父母的font-size:大小被描述为增加或减少,font-size也会在孩子身上发生变化。

答案 2 :(得分:0)

CSS确实需要此功能。在元素级别指定多个类很好,但与能够去的不一样:

.my_class { class:my_global_class; }

能够让一个类使用来自另一个类的样式会非常强大。它会将继承模型的这一部分移动到它所属的CSS中,从而减少混乱的标记。

我现在在网站上工作,我们有很多不同的字体组合。一些h和p标签看起来不同,具体取决于它们的页面和上下文。我们的font-family字体列表必须存在于我们需要它们的每个类中,真是太痛苦了。我很乐意能够做到这一点:

/* defualt for p tags */
p { font-family:Times, Arial, Helvetica; }

/* exceptions */
.arial {font-family:Arial, Times, Helvetica; }
.segoe {font-family:Segoe, Arial, Helvetica; }

.my-page1 p {class:arial;}
.my-page2 p {class:segoe;}

在上面,我的字体列表将存在于一个中心位置,我可以在任何我想要的地方应用它们,纯粹在CSS文件中。如果我的网站中有100个p标签,那么我必须为每个标签添加一个“类”来处理这些异常,这可能会很麻烦。当您有多个开发人员在一个站点上工作时,尤其如此。

答案 3 :(得分:0)

根据您的描述,您希望.element1可用并在多个页面上使用,但在一些特殊页面上,您希望实现.element1类的元素看起来不同,在您的示例中为粗体。

你得到的答案肯定是一种方法,肯定会有效。您可以做的其他事情是在特殊页面上包含额外的CSS。

例如,您可以拥有一个allpages.css,它包含在所有页面中并包含CSS:

.element1 {
    font-size: 14px;
}

然后你可以有一个名为exceptions.css的独立CSS文件,其中包含:

.element1 {
    font-weight: bold;
}

这是有效的,因为为同一个选择器定义了多个规则时,规则会合并在一起。使用此技术,您不必修改HTML元素的类值。

答案 4 :(得分:0)

http://lesscss.org/中使用的语法 我希望你能找到一些有用的工作人员