我想要一个漂亮的2列布局使用CSS浮动。
第1列160 px 第2列100%(即空间的其余部分)。
我想首先放置Col#2的div,所以我的布局如下:
<div id="header"></div>
<div id="content">
<div id="col2"></div>
<div id="col1"></div>
</div>
<div id="footer"></div>
必须得到什么效果?
答案 0 :(得分:1)
上述任何一种都不会起作用。
div#col2 {
width: 160px;
float: left;
position: relative;
}
div#col1 {
width:100%;
margin-left: 160px;
}
假设第2列应显示为左侧边栏,以col 1为主要内容。
答案 1 :(得分:0)
您应该使用“float”CSS属性来执行此操作。查看simple implementation here。你可以找到更详细的article here
答案 2 :(得分:0)
我认为你可以做这样的事情。
div#col2 {
padding-left: 160px;
width: 100%;
}
div#col1 {
float: left;
width: 160px;
}
这取决于#col1
之前的#col2
,这可能使其无法使用。
这不会,但依赖于#col1
更长的时间:
#content {
position: relative;
}
div#col2 {
width: 160px;
position: absolute;
}
div#col1 {
width: 100%;
margin-left: 160px;
}
这样可以保持页脚到位。
div#footer {
clear: both;
}
答案 3 :(得分:0)
您必须在第一列使用float:left并在第二列使用float:right
答案 4 :(得分:0)
虽然这个问题是多年前的问题,但我为将来的参考和类似案例提供了这个有用的答案。
在#col1
之前放置#col2
标记,如果你有LTR lauout(如果你有一个RTL布局然后浮动到左边),你可以将它漂浮到右边,然后给另一个col overflow: hidden
。
请注意,父(#content
)也应该有overflow: hidden
:
#content{
overflow: hidden;
padding: 20px 0;
height: 100px;
background-color: #cdeecd;
}
#content #col1{
float: right;
width: 160px;
height: 100px;
background-color: #eecdcd;
}
#content #col2{
height: 100px;
overflow: hidden;
background-color: #cdcdee;
}
&#13;
<div id="content">
<div id="col1"></div>
<div id="col2"></div>
</div>
&#13;