0

是否可以使用 CSS 来指定特定的 HTML 标记应始终具有特定的类?就像是:

p {
  class: fun;
}

h3 {
  class: fun;
}

.fun {
  font-family: "Comic Sans"
}

(我意识到这可能永远不是一个好主意,我想知道主要是出于学术原因)

我想在没有 javascript/jquery 的情况下实现这一点——只使用 CSS 和 HTML。

更新

我知道如何将样式规范放在每个元素中——我想要的是能够在 .css 文件中的一个位置更改类,并将其应用于具有该类的所有其他元素,而无需更改任何 HTML。我希望默认情况下应用到所有特定标签的类,来自 css 文件。(再一次,我意识到这不是好的设计——我只是好奇它是否可能)。

4

5 回答 5

3

实际上这段代码应该可以工作:

p, h3, .fun { font-family: "Comic Sans"; }

但是,如果您的情况是“不同情况”并且上面的代码不是您正在寻找的答案,您可以使用Less来解决问题。

尝试为这种情况编写一些 css 函数,如下所示:

.fun{
    font-family: "Comic Sans";
}

p{ .fun(); }
h3{ .fun(); }

使用Less,您可以创建函数。希望有用。

于 2013-07-12T01:30:39.393 回答
2

你可以达到同样的效果:

p, h3, .fun {
  font-family: "Comic Sans"
}

我想在没有 javascript/jquery 的情况下实现这一点——只使用 CSS 和 HTML

您不能使用 CSS 设置类。你可以使用 HTML 来完成,但你不能自动化它,我猜你不想手动将类添加到每个<p>or<h3>中。

于 2013-07-12T01:16:23.860 回答
1

不,CSS 或任何 CSS 预处理器都不可能。

您需要一些 HTML 预处理器(如 XSLT)来实现这一点。

于 2013-07-12T07:40:19.790 回答
1

像这样使用标准 CSS

p, h3 {
  font-family: "Comic Sans"
}

否则,您可以使用 LESS 及其混合功能: http: //lesscss.org/#-mixins

于 2013-07-12T01:16:14.007 回答
0

你不能在 CSS 中设置类,你需要 JavaScript。

var h = document.getElementsByTagName("h3")

for ( I=0; I<h.length; I++) {
    h[I].classList.add("fun")
}

或者您可以编写 HTML 如下:

<fun>This is fun!</fun>

并像这样在 CSS 中定位它:

fun{ 
    font-family:Hectiva;
}
于 2013-07-12T02:03:13.097 回答