我到目前为止找到的最佳解决方案是:
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的布局。有什么想法吗?
答案 0 :(得分:27)
您可以使用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;
}
答案 1 :(得分:0)
这也可以通过嵌套div概念来实现。您需要做的就是将div所需的div部分划分为3列,如下所示
<div id="main">
<div id="column-1"></div>
<div id="column-2">
<div id="column-2-1"></div>
<div id="column-2-2"></div>
</div>
</div>
答案 2 :(得分:0)
<div style="float:left; width:33%">Column1</div>
<div style="float:left; width:33%">Column2</div>
<div style="float:right; width:33%">Column3</div>
您可以根据需要调整宽度%。
答案 3 :(得分:0)
您还需要输入“display:inline;” div通常以块形式显示。如果没有内联,它将显示为三行而不是三列。