Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.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/5/objective-c/22.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
只有ID和类的CSS-这是正确的方法吗?_Css_Css Selectors - Fatal编程技术网

只有ID和类的CSS-这是正确的方法吗?

只有ID和类的CSS-这是正确的方法吗?,css,css-selectors,Css,Css Selectors,我想,只要使用ID和类,我就可以编写几乎所有的CSS样式。 没有复杂的选择器。没有复杂的规则 除此之外,以下内容适用: 关于CSS3选择器的不幸事实是,如果您关心页面性能,就根本不应该使用它们。用类和ID装饰标记,并完全在这些类和ID上进行匹配,同时避免使用同级、子代和子选择器,这实际上会使页面在所有浏览器中都表现得更好 我关心页面性能 有关更多信息,请参见此处: 这是提高速度和向后兼容性的正确方法。这些都很重要 但是,对于可维护性(其他人继续您的工作)和可伸缩性(许多站点、子域、页面、小部件、

我想,只要使用ID和类,我就可以编写几乎所有的CSS样式。 没有复杂的选择器。没有复杂的规则

除此之外,以下内容适用:

关于CSS3选择器的不幸事实是,如果您关心页面性能,就根本不应该使用它们。用类和ID装饰标记,并完全在这些类和ID上进行匹配,同时避免使用同级、子代和子选择器,这实际上会使页面在所有浏览器中都表现得更好


我关心页面性能

有关更多信息,请参见此处:
这是提高速度和向后兼容性的正确方法。这些都很重要


但是,对于可维护性(其他人继续您的工作)和可伸缩性(许多站点、子域、页面、小部件、子主题),这是错误的方法。

对于速度和向后兼容性来说,这是正确的方法。这些都很重要

但是,对于可维护性(其他人继续您的工作)和可伸缩性(许多站点、子域、页面、小部件、子主题)来说,这是一种错误的方式。

过于简化可能意味着更糟糕的可维护性 有时,仅仅在类和ID中设置它是不够的。取决于是否还控制标记。如果你做到了,你可以做到,但我想当你想改变事情的时候,它会变成一个皮塔。与后代选择器相比,使用ID查找路径要简单得多

#SomeButton { ... } // who the hell am I
vs

不要使用太强的限制=不要过分简化事情,因为从长远来看,事情会变得复杂(他们会反对你)。为了可维护性的利益,交换一些。这也可能意味着你会引入很多重复的风格。所以要小心简化

如果向后兼容性在这里也是一个问题,那么只使用后代选择器,如果不需要,不要使用太深的关系。

过于简单可能意味着更糟糕的可维护性 有时,仅仅在类和ID中设置它是不够的。取决于是否还控制标记。如果你做到了,你可以做到,但我想当你想改变事情的时候,它会变成一个皮塔。与后代选择器相比,使用ID查找路径要简单得多

#SomeButton { ... } // who the hell am I
vs

不要使用太强的限制=不要过分简化事情,因为从长远来看,事情会变得复杂(他们会反对你)。为了可维护性的利益,交换一些。这也可能意味着你会引入很多重复的风格。所以要小心简化


如果向后兼容性在这里也是一个问题,那么只使用后代选择器,如果不需要,不要使用太深的关系。

这取决于具体情况。如果可以为某些元素创建一些通用样式规则,则可以节省大量时间并创建重复代码。例如,如果你写

.div-element-1{font-family:Helvetica; font-size:12px;}
.div-element-2{font-family:Helvetica; font-size:14px;}
.div-element-3{font-family:Helvetica; font-size:18px;}
相反,你可以写:

div{font-family:Helvetica;}

这将适用于所有div,并防止您反复书写字体,这取决于具体情况。如果可以为某些元素创建一些通用样式规则,则可以节省大量时间并创建重复代码。例如,如果你写

.div-element-1{font-family:Helvetica; font-size:12px;}
.div-element-2{font-family:Helvetica; font-size:14px;}
.div-element-3{font-family:Helvetica; font-size:18px;}
相反,你可以写:

div{font-family:Helvetica;}

这将应用于所有div,使您不必一遍又一遍地书写字体

“我关心页面性能…”然后停止关心。我倾向于只使用类和ID,因为我必须让网站在旧浏览器中工作,这不支持好的选择器。既然你已经下定决心了,为什么还要问问题?@Robert,因为虽然我已经下定决心了,但我可能错了。我宁愿know@chacko:单独使用特殊的CSS组合器是否会导致任何浏览器将您的网站渲染得更慢1秒?如果你真的在乎,做你自己的基准,自己看看。影响浏览器呈现速度的因素很多,CSS解析是一个非常微小的因素。“我关心页面性能…”然后停止关心。我倾向于只使用类和ID,因为我必须让网站在旧浏览器中工作,这不支持好的选择器。既然你已经下定决心了,为什么还要问问题?@Robert,因为虽然我已经下定决心了,但我可能错了。我宁愿know@chacko:单独使用特殊的CSS组合器是否会导致任何浏览器将您的网站渲染得更慢1秒?如果你真的在乎,做你自己的基准,自己看看。影响浏览器渲染速度的因素很多,CSS解析是一个非常微小的因素。