有點背景: 我正在打造一個頁眉,它橫跨整個網頁。我希望將當前的用戶名,註銷按鈕等懸浮在標題右側,並且我希望徽標和一些navitems位於左側。當瀏覽器窗口縮小時,左邊的項目和右邊的項目發生衝突,我不希望它們換行。我將header-container div設置爲溢出:auto,所以我希望它開始滾動。CSS div左右浮動
問題: 即使當我有一個div float:left和div float:right同時使用display:inline-block和父空白:沒有換行 - 換行!偶然,我發現我可以通過將另一個div與display:inline-block封裝在一起工作。爲什麼是這樣???
下面是我的代碼和一個工作jsfiddle來顯示工作設置和安裝程序包裝。我不明白爲什麼我需要額外的div。 http://jsfiddle.net/klyngbaek/tNHLL/9/
當我縮小窗口,我不希望第二個藍色的矩形下降到一個新行
HTML:
<h2>With extra inline-block dive. The blue rectangles do not wrap.</h2>
<div class="wrapper nowrap">
<div class="second-wrapper">
<div class="floating float-left">[logo] | home | [navitem1] | [navitem2]</div>
<div class="floating float-right">[username] | logout</div>
</div>
</div>
<h2>Without extra inline-block dive. The blue rectangles do wrap.</h2>
<div class="wrapper nowrap">
<div class="floating float-left">[logo] | home | [navitem1] | [navitem2]</div>
<div class="floating float-right">[username] | logout</div>
<div class="clearfix"></div>
</div>
CSS:
.wrapper {
border:#333;
margin-bottom:;
}
.second-wrapper {
border:;
display:inline-block;
min-width: 100%;
}
.nowrap {
white-space: nowrap;
}
.clearfix {
clear: both;
}
.floating {
background: lightblue;
border:;
height:;
padding:}
.float-left {
float: left;
}
.float-right {
float: right
}
或者也許有更好的方法來完成我想要的。
在此先感謝!
編輯:更新的jsfiddle鏈接
我想你忘了小提琴中的clearfix div,我認爲second-wrapper拉伸以包含兩個浮動divs的原因是因爲它的display屬性設置爲inline-block。 –