我可以为HTML元素设置默认的CSS类吗?

3
如果我定义了一个CSS类,有没有办法将该类设置为HTML元素的默认类?为了澄清,我希望将类的定义分离出来,以便可以由一个或多个CSS选择器使用,或在HTML中离散应用。
例如:
.myclass {float:right}
h1 {class: myclass}

当然,以上不起作用,但希望你知道我在问什么,因为我找不到如何做到这一点。


你想要使用LESS还是SASS。 - SLaks
不行,因为类属于 HTML,而非 CSS。 - BoltClock
我和Dave的想法一致。我认为这里的其他人都被一个样式的概念所困扰。要着眼于大局——在你无法控制的类中有很多样式。例如:如果我有一组Bootstrap类,我总是希望将其默认为表格(或分组到一个新类中),那么最好有一种本地CSS方法来实现这一点,而不是诉诸于JavaScript或Less/Sass。作为一名C#开发人员,这似乎并不是一个很大的要求;相反,更像是一个一直应该存在的功能。我知道那些CSS大师们会反对并说“这不是CSS的工作方式”。 - MikeTeeVee
6个回答

4

标准的CSS无法实现,但为什么不尝试这样做:

h1 {
    float: right;
}

1
谢谢。我知道我可以这样做,但是希望将类的定义因子化,以便可以由多个元素选择器使用或离散应用。 - Dave

2
如果我定义了一个CSS类,有没有办法将该类设置为HTML元素的默认类?
不行。但是,您可以选择所有元素并对它们应用规则:
* {
    foo: bar;
}

1

这些工具不会在HTML元素上设置任何默认类。它们只是用于生成CSS代码的工具,不会影响HTML。您可以通过在JavaScript中检查HTML元素节点的className属性来验证这一点。 - Jukka K. Korpela
没错。我只是提供了一种实现所需结果的替代方法。OP 需要一种扩展 CSS 类定义的方法,而纯 CSS 无法解决这个问题。这也是 LESS 和 SASS 等解决方案存在的原因之一。 - Brian Lewis

1
根据您反复提到的评论“我希望将类的定义因式分解,以便可以被一个或多个元素使用或离散应用”,似乎您真正想做的是如何定义一组CSS声明,以使其适用于给定类中的元素一些独立于类的元素。要实现这一点,可以使用选择器列表,例如:
.myclass, h1 { float:right; /* and other declarations as needed */ }

这就是你可以在CSS中实现的“分解”的方式。无法“分解”“CSS类”,因为没有CSS类。在HTML中有类,您可以指定适用于这些类的规则。

感谢您的建议和澄清。我主要是C#开发者,css并不是我的专长。 - Dave

0

只需编写以下HTML代码

<h1 class="mylass"> .... </h1>

编写 有效 的 CSS

例如:

.myclass {float: right}

谢谢。我知道我可以这样做,但是希望将类的定义因素化,以便可以被多个元素使用或离散应用。 - Dave
@Dave - 这就是类的全部意义 - 您可以在 HTML 文档中的多个元素中使用它。实际上,HTML 文档中的一个标签可以有多个类。 - Ed Heal
是的,我知道,我只是想默认地为所有<h1>元素分配,并且还能够在标记中使用离散元素。如果您愿意,可以将类定义因子化,因此两者都可以使用。 - Dave
@dave - 有一个顺序。对于标签,CSS样式被任何类所取代,而这又被ID所取代。 - Ed Heal
是的,我知道,但那与我想要的无关,我想要的是为元素设置一个已定义的默认类。我正在看SASS。 - Dave

0

我不确定你想要实现什么,但也许你之所以问这个问题是因为你想要让多个 HTML 元素使用相同的“class”?

如果是这种情况,你可以这样写:

h1, h2, span{
    background: red;
}

是的,基本上是这样。我希望将类的定义分解出来,以便可以被一个或多个元素使用或离散应用。 - Dave
你可能也应该了解一下CSS选择器,这个网站很不错:http://css-tricks.com/child-and-sibling-selectors/ - Jonathan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接