怎样在CSS中嵌套

html-css034

怎样在CSS中嵌套,第1张

CSS结构好的话,没有必要使用过多的类或者标识选择符。这是因为你可以指定在选择符内的选择符,而不必使用CSS嵌套。(或者更好的说法,上下文选择符--译者著)

1、比如:

ExampleSourceCode

#top{  background-color:#ccc  padding:1em  }  #toph1{  color:#ff0  }  #topp{  color:red  font-weight:bold  }

2、这就减去不必要的类或者标识选择符,如果应用到像这样的HTML中:

ExampleSourceCode

<dividdivid="top"> <h1>Chocolatecurry</h1> <p>Thisismyrecipeformakingcurrypurelywithchocolate</p> <p>Mmmmmmmmmm</p> </div>

这是因为,用英文半角空格间隔选择符,我们指明了在标识id内的h1有“#ff0”的颜色,而p则是红色red和粗体bold。这可能也会有些复杂(因为可能不止两级,比如在内在内在内在内等等)。有必要多加练习。

<div class="box">

<div>

<div>

<div class="contont">内容</div>

</div>

</div>

</div>

一般情况下是会设置一个类名来进行设置样式的,

像这样可以通过子代选择器来设置,例如:

.box>div>div>div{color:#f00} 但是假如最里层有多个div那也会被设置当前样式,所以这样虽然可以设置到,但是不合理。

通过后代选择器来设置: .box .contont{ color:#f00} 这样就是设置自代类名为 .contont的盒子了。

你说的问题 是在ie6,7下 div2的margin值无效 对吧 ? 你要理解 在ie中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容。 在ie6,7下有个hasayout属性 如果没有触发他不能负责对自己和可能的子孙元素进行尺寸计算和定位;所以子元素的margin失效。 激活haslayout属性有很多 可以用zoom:1 你可以去百度搜下haslayout 去了解一下它。