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。这可能也会有些复杂(因为可能不止两级,比如在内在内在内在内等等)。有必要多加练习。
之前遇到过 fixed 布局嵌套的一些场景, fixed 布局是针对 body 定位的,但是在某些特殊情况下,子级的 fixed 会受到父级 fixed 的影响,除了需要 z-index 来区分层级,还要注意 transform 的使用(貌似好多地方 transform 都会引发问题)
一般的场景是一个遮罩加一个弹框
效果是这样的
这个时候在内部的 children 再使用 fixed 布局时,就会被父级的 fixed 元素限制住
1、父级不使用 tansform
2、不进行嵌套
第一种方法(需要css3):
<style>.div1 {width:400px height:300px border:1px solid #00f}
.div2 {display:inline-block width:150px height:200px border:1px solid #f00}
.div3 {display:inline-block width:150px height:200px border:1px solid #0a0}
</style>
<div class=div1>
<div class=div2></div><div class=div3></div>
</div>
第二种方法:
<style>.div1 {width:400px height:300px border:1px solid #00f}
.div2 {float:left width:150px height:200px border:1px solid #f00}
.div3 {float:left width:150px height:200px border:1px solid #0a0}
</style>
<div class=div1>
<div class=div2></div><div class=div3></div>
</div>
第三种方法:
<style>.div1 {position:relative width:400px height:300px border:1px solid #00f}
.div2 {position:absolute left:0 top:0 width:150px height:200px border:1px solid #f00}
.div3 {position:absolute left:152px top:0 width:150px height:200px border:1px solid #0a0}
</style>
<div class=div1>
<div class=div2></div><div class=div3></div>
</div>