如何阅读以下css类

dot*_*dot 1 css

我有以下CSS课程:

 #menuAccordion h2 a,.dir-rtl #menuAccordion .viewList{
     padding-right:2.5%;
     padding-left:0
 }
Run Code Online (Sandbox Code Playgroud)

对于使用css类的所有HTML元素,将其解释是正确的menuAccordian,如果在此元素中有一个<H2><A>标记,它将应用在其中定义的填充{}?做什么.dir-rtl.viewList参考?

另外,如果我在css的一行中都有以下代码:

 #secNav #showHideMenu a.fixed{
     position:fixed;
     top:0
 }

 .HomePage #content{
     min-height:300px
 } 

 #content{
     background-color:#FFF;
     min-height:600px;
     position:relative;
     z-index:0
 }
Run Code Online (Sandbox Code Playgroud)

我是否可以假设每次看到a #,它都是新类的开始,我还可以假设这些类彼此不相关吗?我只是想了解为什么作者会将所有这些放在一行上.它不可读.但也许是因为它们是相关的.

谢谢.

Joh*_*ica 6

首先,术语.一组花括号之前的部分称为选择器.可以有多个逗号分隔的选择器.在选择器中,您可以使用#nameid属性匹配元素,并按其属性.name进行匹配class.


一般而言,CSS选择器匹配列出的最后一项.

#menuAccordion h2 a
Run Code Online (Sandbox Code Playgroud)

这匹配<a>元素内<h2>元素内部的元素id="menuAccordion".

.dir-rtl #menuAccordion .viewList
Run Code Online (Sandbox Code Playgroud)

这匹配元素class="viewList"内部的元素与元素id="menuAccordion"内部class="dir-rtl".

viewListdir-rtl类的含义取决于页面作者.它们没有固有的含义.


将所有内容放在一行不会改变CSS的含义.它可能只是一种节省空间的策略而牺牲了可读性.