我們會在兩個區塊下 float: left ,如下圖所示:
.parent {
}
.child1 {
float: left;
width: 30%;
}
.child2 {
float: left;
width: 70%;
}
}
.child1 {
float: left;
width: 30%;
}
.child2 {
float: left;
width: 70%;
}
這樣的樣式設定在 RWD 時,.child1 的部分會窄到幾乎無法觀看。
有時候我們會希望側欄固定 200px,RWD 只縮放 .child2 部分,如下圖所示:
這時候我們可以對 .child1 下 float: left,.child2 下 overflow: hidden 如下:
.parent {
}
.child1 {
float: left;
width: 200px;
}
.child2 {
overflow: hidden;
}
}
.child1 {
float: left;
width: 200px;
}
.child2 {
overflow: hidden;
}
這是利用 overflow: hidden 所觸發的 BFC 特性。
簡單來說,具有 BFC 特性的節點會避開具有 float 特性的節點,
但前提是 float 節點必須位於 BFC 節點之前,所以當我們需要三欄伸縮時:
我們的 HTML 結構必須是:
<div class="parent">
<div class="child1"></div>
<div class="child2"></div>
<div class="child3"></div>
</div>
<div class="child1"></div>
<div class="child2"></div>
<div class="child3"></div>
</div>
.parent {
}
.child1 {
float: left;
width: 100px;
}
.child2 {
float: right;
width: 100px;
}
.child3 {
overflow: hidden;
}
}
.child1 {
float: left;
width: 100px;
}
.child2 {
float: right;
width: 100px;
}
.child3 {
overflow: hidden;
}
註:因為子節點具有 float 特性,因此還是必須要清除浮動。
沒有留言:
張貼留言