你的代码无法正常工作是因为浮动的div不会影响周围元素的大小。使用
内联块左侧浮动时,你会在屏幕变小时失去一个标题。我在Mehmet Eren Yener提供的JSfiddle上缩小了屏幕尺寸,右侧标题消失了。如果你的标题很长,而屏幕很小,右侧的标题将会消失。
我认为更好的方法是要么使用一个
clearfix类,要么使用
overflow标签。还有一种
空Div方法,但我不是很喜欢那个方法。如果你使用其中一种方法,左侧标题将在它们靠得太近时堆叠在右侧标题上面。
以下是使用Clearfix和Overflow的示例:
Clearfix: http://jsfiddle.net/ATP33/
HTML:
<div id="expand-box">
<div id="expand-box-header" class="clearfix">
<span style="float: left;">Top left header</span>
<span style="float: right;">Top right header</span>
</div>
<div id="expand_box_sub_header">Lorem ipsum dorem nori seota ostiy</div>
</div>
CSS:
#expand-box {
width: 100%;
padding: 0;
border: 2px solid #BBB;
margin: 7px 0 0 0;}
#expand-box-header {
background-color: #BBB;
margin: 0;
color: #FFF;
padding: 0 0 3px 2px;}
#expand_box_sub_header { clear: both; }
.clearfix:after { content: "\00A0"; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
.clearfix{ display: inline-block;}
html[xmlns] .clearfix { display: block;}
* html .clearfix{ height: 1%;}
.clearfix {display: block}
溢出:http://jsfiddle.net/RL8ta/
HTML:
<div id="expand-box">
<div id="expand-box-header">
<span style="float: left;">Top left header</span>
<span style="float: right;">Top right header</span>
</div>
<div id="expand_box_sub_header">Lorem ipsum dorem nori seota ostiy</div>
</div>
CSS:
#expand-box {
width: 100%;
padding: 0;
border: 2px solid #BBB;
margin: 7px 0 0 0;}
#expand-box-header {
background-color: #BBB;
margin: 0;
color: #FFF;
padding: 0 0 3px 2px;
overflow: auto;}
#expand_box_sub_header { clear: both; }