1

我有很多h1 elements要删除的margin

为此制作一个是否正确,class或者您是否会单独针对它,CSS例如

#comments h1 { margin: 0; }
4

4 回答 4

1

如果你使用一个类,你也可以将它重用于其他元素:

.nomargin {
    margin: 0;
}
于 2012-08-18T11:33:28.397 回答
1

如果要删除某种类型的所有元素的边距,则可以使用通用元素选择器,例如

h1 { margin: 0; }

活生生的例子

但是,如果您想定位多个元素,但不是某种类型的所有元素,请使用类分配您想要定位的元素,nomargin然后使用以下 CSS

.nomargin { margin: 0; }

活生生的例子

于 2012-08-18T11:35:13.003 回答
1

我更喜欢结构选择器而不是表示特定样式的类。例如,如果您确实想要在移动设备上查看该网站时获得边距怎么办?现在你的班级名称是错误的。一个极端的例子是命名类,如“蓝色”或“15 像素文本”。

阅读样式表时,结构选择器也可以更直观。您可以推断它将在哪里应用,而不是想知道类名称已应用到哪些元素。

一个考虑因素是这样的选择器会变得非常复杂,并且可能比类选择器执行得更差。与往常一样,没有硬性规定。

作为旁注,您可以使用LESSSASS使开发/维护更容易。这并没有解决语义问题。

于 2012-08-18T11:51:51.897 回答
1

是的,这样做是非常好的 CSS,假设所有标题标签都在带有 的元素内id='comments',并且假设这些是您想要以这种方式操作的唯一标题标签。

如果您对要以这种方式设置样式的元素有更普遍的需求,那么也许可以使用一个类,但由于您已经有一个选择器可以获取您想要设置样式的所有元素,请使用它;你不应该觉得你需要仅仅为了它而创建一个类。

于 2012-08-18T11:39:04.877 回答