Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.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
CSS选择器样式_Css_Coding Style_Formatting_Css Selectors - Fatal编程技术网

CSS选择器样式

CSS选择器样式,css,coding-style,formatting,css-selectors,Css,Coding Style,Formatting,Css Selectors,我没有在这里看到任何关于它的快速搜索,如果有让我知道 下面是我要编写的CSS选择器示例 div#container div#h h1 { /* styles */ } div#container div#h ul#navi { /* styles */ } div#container div#h ul#navi li.selected { /* styles */ } 我喜欢写我所有的CSS。这使我不再让样式四处浮动,而且从技术上讲,我可以轻松地重复使用相同的类名。例如,我可能在整个站点的多个

我没有在这里看到任何关于它的快速搜索,如果有让我知道

下面是我要编写的CSS选择器示例

div#container div#h h1 { /* styles */ }
div#container div#h ul#navi { /* styles */ }
div#container div#h ul#navi li.selected { /* styles */ }
我喜欢写我所有的CSS。这使我不再让样式四处浮动,而且从技术上讲,我可以轻松地重复使用相同的类名。例如,我可能在整个站点的多个元素上使用.selected

我还在class/id之前指定元素类型(div、ul等),除非样式用于多个元素。我也会在id之前指定元素,即使只有一个id,因为它允许我在阅读CSS时轻松了解元素。例如,我马上就知道em#示例的字体样式很可能是斜体

这不是关于CSS格式化的问题,而是关于编写选择器的问题

我很想听听大家对这种方法的看法,因为我已经用了很多年了,我正在重新评估我的风格


虽然这有点离题,但我也为选择器库编写了这样的选择器(例如jQuery)。虽然我没有深入研究jQuery的内部结构,以确定使用ID指定元素是否存在性能问题。

虽然这个问题有点主观,但我必须说我同意您的想法。我认为在读取代码时,在选择器之前定义元素更清晰,而且不容易出错。

我认为这实际上取决于选择器的用途

几乎每个站点都有一个或几个样式表来“修饰”站点-字体、文本颜色、链接颜色/悬停、行距等等,您不希望这些选择器非常具体。类似地,如果您有一个组件或元素在许多页面中重复使用,并且总是需要看起来相同,比如说这里的标签,那么如果您使用基于ID的选择器,那么维护它将是一件痛苦的事情

如果选择器引用特定页面上的特定元素,我将始终使用该ID。没有什么比试图弄明白为什么你的规则因为与其他规则冲突而不起作用更令人沮丧的了,如果一切都是类的话,这种情况可能会发生很多。另一方面,我认为按原样嵌套ID(
#container#h
)是多余的,因为ID的目的是唯一的。如果在同一页上有多个具有相同ID的元素,那么最终可能会出现各种问题

当你的选择器提供一些关于所表示的“结构”的想法时,它确实使CSS稍微容易理解,但是,老实说,我认为这与关注点分离的想法背道而驰。由于完全合理的原因,
#navi
可能会被移到
#h
之外,现在必须有人更新
#navi
的样式表,即使没有任何更改


正如Darrell指出的,这有点主观,但这是我的两分钱。

好吧,虽然这与格式化有关,但可能存在一些真正的问题。例如,有些人可能会觉得它不允许您在不修改CSS文件的情况下轻松地从一个元素到另一个元素使用样式。这就是我要找的东西。很高兴听到你同意好的观点。身份证的问题有点棘手。我只会设置一个ID与家长选择器,如果我希望该ID是明确的存在。现在,我可以简单地将其设置为#id,但我仍然会将其放置在CSS文件中标题(即父级)组的周围。因此,如果有人想移动它,他们很可能会移动该行,那么为什么不重新重写选择器呢?如果希望ID可以移动,请不要指定父项。我将结束这个问题,因为它是主观的。谢谢