我有以下CSS
课程:
#menuAccordion h2 a,.dir-rtl #menuAccordion .viewList{
padding-right:2.5%;
padding-left:0
}
对于使用css类menuAccordian
的所有HTML元素解释这一点是正确的,如果此元素中有<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
}
我可以假设每次看到#
时,它都是新类的开头,我还可以假设这些类彼此不相关吗?
我只是想了解为什么作者会将所有这些放在一行上。它不可读。但也许是因为它们是相关的。
感谢。
答案 0 :(得分:6)
首先,术语。一组花括号前面的部分称为选择器。可以有多个逗号分隔的选择器。在选择器中,您可以使用#name
按id
属性和.name
匹配元素,以便按class
属性进行匹配。
CSS选择器与列出的 last 项匹配,一般而言。
#menuAccordion h2 a
这匹配<a>
元素内<h2>
元素内的id="menuAccordion"
个元素。
.dir-rtl #menuAccordion .viewList
这会将元素class="viewList"
与id="menuAccordion"
元素放在元素class="dir-rtl"
内。
viewList
和dir-rtl
类的含义取决于页面作者。它们没有固有的含义。
将所有内容放在一行不会改变CSS的含义。它可能只是一种节省空间的策略而牺牲了可读性。