怎样在CSS中嵌套

html-css031

怎样在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。这可能也会有些复杂(因为可能不止两级,比如在内在内在内在内等等)。有必要多加练习。

纯css是没有这种写法的,只有使用less、sass、scss这类css预处理语言才会出现的选择器嵌套。而且css里也不会渲染这种嵌套的写法,只会渲染这种嵌套:.baz .test{height:50px}。

下面的例子是less嵌套后与生成css的对比图:

<div class="box">

<div>

<div>

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

</div>

</div>

</div>

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

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

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

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