1

我有以下CSS课程:

 #menuAccordion h2 a,.dir-rtl #menuAccordion .viewList{
     padding-right:2.5%;
     padding-left:0
 }

将其解释为所有使用 css 类的 HTML 元素是否正确menuAccordian,如果此元素中有<H2>or<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
 }

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

谢谢。

4

1 回答 1

6

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


一般来说,CSS 选择器匹配最后列出的项目。

#menuAccordion h2 a

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

.dir-rtl #menuAccordion .viewList

这匹配带有class="viewList"inside 的元素和带有id="menuAccordion"的元素class="dir-rtl"

viewList和类的含义dir-rtl取决于页面作者。它们没有内在的意义。


将所有内容放在一行上不会改变 CSS 的含义。这可能只是一种以牺牲可读性为代价的节省空间的策略。

于 2013-01-17T20:49:52.767 回答