我想:
在使用CSS之前,我会简单地使用<table>
和两个<td>
来做到这一点。
使用CSS,现在,我使用基于浮动左列+左填充右列+清除<div>
之后的方法:
.container2 .columnLeft {
float: left;
width: 200px;
}
.container2 .columnRight {
padding-left: 200px;
}
但我不确定这是一个正确的方法。 你能告诉我你会怎么做吗?
请在方便时使用和修改http://jsfiddle.net/rjjr24sf/4/。
谢谢,
答案 0 :(得分:1)
使用flexbox:
.container {
display: flex;
}
.container .columnLeft {
width: 200px;
}
.container .columnRight {
flex: 1; /* Grow to rest of width */
}
答案 1 :(得分:0)
您可以使用display
CSS属性使divs
表现得像表格单元格。这可以通过在父级上设置display: table;
,在子级上设置display: table-cell;
来完成。
试试这段代码:
.container {
display: table;
}
.container .columnLeft {
width: 200px;
display: table-cell;
}
.container .columnRight {
display: table-cell;
}
使用此方法的唯一区别是,您的第一个固定列将占用与其父级相同的高度,与td
相同。虽然,您可以通过向您的孩子添加float: left;
来解决此问题。
<强> Updated Fiddle 强>
答案 2 :(得分:0)
#RightColumn {
margin-left: 200px;
background-color: blue;
}
#LeftColumn {
float : left;
width: 200px;
background-color: red
}
<div id="Container">
<div id="LeftColumn">Left column</div>
<div id="RightColumn">Right column</div>
</div>
答案 3 :(得分:0)
你也可以使用CSS计算方法实现这一点,按照这个小提琴 - http://jsfiddle.net/aewqgh7t/
所以标记:
<div class="container2">
<div class="columnLeft">
Some Content<br/>
Some Content<br/>
Some Content<br/>
Some Content<br/>
Some Content
</div>
<div class="columnRight">
Some Content
</div>
</div>
css:
.container2 {
width:100%;
background: lightgrey;
overflow:hidden;
}
.columnLeft {
background: salmon;
float:left;
width:200px;
}
.columnRight {
background: darkblue;
float:left;
margin-left:20px;
width: calc(100% - 220px) /* To calculate remaining space */;
}
您还需要考虑浏览器对calc css函数的支持:CanIUse