我在尝试找到有关如何在样式表中正确编写CSS规则的任何具体细节时遇到问题,其中类或ID嵌套在许多其他ID和样式中,例如
.mainbody #container #header #toprightsearch .searchbox {}
Run Code Online (Sandbox Code Playgroud)
所以这里我们searchbox在一个toprightsearchID,一个标题ID,一个容器ID和一个mainbody类中有一个类.
但是如果我省略了一些ID,它似乎可以正常工作.
列出这些的正确方法是什么?
如果我包括所有的父母,它是否更具体?如果我不包括所有浏览器,它会在不同的浏览器上出错吗?
关于这个主题的任何其他信息将不胜感激.
谢谢
Rya*_*nce 33
.searchbox {}
Run Code Online (Sandbox Code Playgroud)
使用.searchbox设置任何样式
.mainbody .searchbox{}
Run Code Online (Sandbox Code Playgroud)
任何来自任何.mainbody,直接子,孙子,四重孙子的.searchbox样式都无关紧要.
#toprightsearch > .searchbox {}
Run Code Online (Sandbox Code Playgroud)
仅限样式.searchbox是#toprightsearch的直接子项
#container * .searchbox {}
Run Code Online (Sandbox Code Playgroud)
样式.searchbox是#container的孙子或后来的.
这是一个关于这个主题的好文档:w3C选择器
如果包含更多父母,则会增加选择者的特异性.您不应该有跨浏览器问题而忽略父母.
没有正确数量的父母列出; 这取决于您对标记的要求.正如您所看到的那样,selector1 selector2意味着selector2在a内的任何级别selector1,您可以针对您需要的任何行为调整它.
在你的榜样,你应该列出.mainbody #container #header #toprightsearch .searchbox你什么意思是款式,只适用于.searchbox该是整个层次内上课.如果相反,您希望.searchboxes在条件下存在其他条件以获得相同的样式,则应该在层次结构中限制较少.这只是关于你想要完成的事情.
重新评论:ID产生更多的特异性,因此省略它们会更多地降低规则的特异性.