Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 为此创建CSS类是否正确?_Html_Css - Fatal编程技术网

Html 为此创建CSS类是否正确?

Html 为此创建CSS类是否正确?,html,css,Html,Css,我有许多h1元素,我想删除这些元素上的边距 为此创建一个类是正确的,还是您会在CSS中单独将其作为目标,例如 #注释h1{边距:0;} 如果使用类,也可以将其用于其他元素: .nomargin { margin: 0; } 如果使用类,还可以将其用于其他元素: .nomargin { margin: 0; } 如果要删除某一类型的所有元素的边距,例如,可以使用通用元素选择器 h1 { margin: 0; } 但是,如果要针对多个元素,但不是某一类型的所有元素,请将要针对

我有许多
h1元素
,我想删除这些元素上的
边距

为此创建一个
是正确的,还是您会在
CSS
中单独将其作为目标,例如

#注释h1{边距:0;}

如果使用类,也可以将其用于其他元素:

.nomargin {
    margin: 0;
}

如果使用类,还可以将其用于其他元素:

.nomargin {
    margin: 0;
}

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

h1 { margin: 0; }

但是,如果要针对多个元素,但不是某一类型的所有元素,请将要针对的元素分配给类,例如
nomargin
,然后使用以下CSS

.nomargin { margin: 0; }

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

h1 { margin: 0; }

但是,如果要针对多个元素,但不是某一类型的所有元素,请将要针对的元素分配给类,例如
nomargin
,然后使用以下CSS

.nomargin { margin: 0; }

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


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

是的,这是一个非常好的CSS,假设所有的头标签都在元素中,带有
id='comments'
,并且假设这些是你想以这种方式操作的唯一头标签


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

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

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

需要考虑的一点是,这样的选择器可能会变得非常复杂,并且性能可能比类选择器差。一如既往,没有硬性规定


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

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

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

需要考虑的一点是,这样的选择器可能会变得非常复杂,并且性能可能比类选择器差。一如既往,没有硬性规定


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

@ZoltanToth谢谢,现在是了。我认为这是一个非常糟糕的类使用。事实上,我想说他最初的CSS比这要好得多。为所有元素创建一个通用类并不是一个好主意,这些元素在当前的设计中应该没有余量。如果你想改变网站的外观,你也必须改变html。但是html应该只在语义上描述内容,类也是如此。@ZoltanToth谢谢,现在是这样了。我认为这是对类的一种非常糟糕的使用。事实上,我想说他最初的CSS比这要好得多。为所有元素创建一个通用类并不是一个好主意,这些元素在当前的设计中应该没有余量。如果你想改变网站的外观,你也必须改变html。但是html应该只在语义上描述内容,类也是如此。我不同意你的观点。使用嵌套选择器选择
h1
元素的特定子集没有什么错;他的代码中没有任何东西表明类是必要的。当然,您不应该创建像
.nomargin
一样通用的类。类名应该与元素的用途相关,而不是与元素的外观相关。不,他所做的没有错,但是他没有向我们提供足够的信息或代码来完全理解他想要针对哪些元素。因此,在我的回答中,我提到了针对某一类型的多个或所有元素。我不同意你的观点。使用嵌套选择器选择
h1
元素的特定子集没有什么错;他的代码中没有任何东西表明类是必要的。当然,您不应该创建像
.nomargin
一样通用的类。类名应该与元素的用途相关,而不是与元素的外观相关。不,他所做的没有错,但是他没有向我们提供足够的信息或代码来完全理解他想要针对哪些元素。因此,在我的回答中,我提到了针对某一类型的多个或所有元素。