[英]Three Column DIV layout dynamics; left = fixed, center = fluid, right = fluid
我到目前為止找到的最佳解決方案是:
http://jsfiddle.net/kizu/UUzE9/
但那不是那么的。 你看,我有三列; 其中兩個需要避免明確調整大小。 那么,第二個確實需要調整大小; 但不完全。
請允許我通過確定我一直試圖滿足的條件來澄清。
最終結果大致如下所示:
Logo | Player | Name -----------------------------------------------------
對於表格,我只是這樣做:
<table width="100%" height="65px" cellspacing=0 cellpadding=0>
<tr>
<td width="285px" height="65px">
Logo
</td>
<td height="65px">
Player
</td>
<td width="1px" height="65px">
Account
</td>
</tr>
</table>
上表代碼的結果: http : //jsfiddle.net/zMNYb/
但我正試圖擺脫使用表格和使用基於DIV的布局。 有任何想法嗎?
你可以使用float:left
作為第一列, float:right
作為最后一列,使中心列為float:none
更新演示: http : //jsfiddle.net/L85rp/3/
HTML
<div class="col1">Column1</div>
<div class="col3">Column3</div>
<div class="col2">Column2</div>
CSS
.col1 {
background-color: #ddf;
float: left;
}
.col2 {
background-color: #dfd;
float: none;
}
.col3 {
background-color: #fdd;
float: right;
}
注意 :有必要將右列放在HTML中的中心列之前(參見上文,col3位於HTML中的col2之前),以確保當瀏覽器呈現中心列時,它知道如何圍繞現有浮動正確呈現元素。
更新了CSS
.col1 {
background-color: #ddf;
float: left;
width: 285px;
height: 65px;
}
.col2 {
background-color: green;
float: none;
height: 65px;
overflow: hidden;
display: table-cell; /* turn this off to lock height at 65px */
}
.col3 {
background-color: cyan;
float: right;
height: 65px;
}
更新的演示: http : //jsfiddle.net/ew65G/1/
<div style="float:left; width:33%">Column1</div>
<div style="float:left; width:33%">Column2</div>
<div style="float:right; width:33%">Column3</div>
您可以根據需要調整寬度%。
您還需要輸入“display:inline;” div通常以塊形式顯示。 如果沒有內聯,它將顯示為三行而不是三列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.