前几天研究Opencart模板的时候发现了一个少见的CSS选择符:"+",网上查了一下,类似于">"选择符(子节点)的用法,"+"表示兄弟节点,比如:
#body + #right { ... }
该样式将定位于 ID为body的标签之后的ID为right的标签。
举一个完整的自适应宽度的布局例子:
CSS:
[syntaxHighLighter brush="css"]
#body {
width: 600px;
margin: auto;
height: 600px;
text-align: center;
color: #fff;
}
#column-left {
float: left;
width: 180px;
background: #C00;
height: 600px;
line-height: 600px;
}
#content {
background: #FC0;
height: 600px;
line-height: 600px;
}
#column-right {
float: right;
width: 160px;
background: #06C;
height: 600px;
line-height: 600px;
}
#column-left + #column-right + #content, #column-left + #content {
margin-left: 190px;
}
#column-right + #content {
margin-right: 170px;
}
[/syntaxHighLighter]
HTML:
[syntaxHighLighter brush="html"]
<div id="body"> <div id="column-left">Left</div> <div id="column-right">Right</div> <div id="content">Content</div> </div>
[/syntaxHighLighter]
在这种布局下,不论你删除左栏还是右栏还是两个都删除,#content的宽度都可以自适应。对了,IE6不支持这种布局,希望和我一样抛弃IE6的朋友喜欢这个方法。











