假设我想要两列。右边是200px宽,左边是占据剩余宽度。这可能吗?我该如何设置左列的宽度?
答案 0 :(得分:34)
现在我们已经Flexbox(over 95% support globally}这个布局(和其他)可以轻松实现,而且样式不依赖于源顺序。
Flexbox示例:
<div class="flex-container">
<div class="flex-column"> Big </div>
<div class="fixed-column"> Small </div>
</div>
.flex-container {
display: flex;
}
.flex-column {
flex: 1;
}
.fixed-column {
width: 200px;
}
技巧是将剩余列的边距与浮动侧边栏的宽度相匹配。请记住,源代码在使用浮点数时很重要,因此我们确保浮动元素首先出现。
示例右对齐小列:
<div id="Container">
<div id="RightColumn">Right column</div>
<div id="LeftColumn">Left column</div>
</div>
#RightColumn {
float : right;
width : 200px;
}
#LeftColumn {
margin-right : 200px;
}
答案 1 :(得分:7)
您float
左列并将边距设置为左列宽度的最小值。
<div id="Container">
<div id="LeftColumn" style="float: left; margin-right: 200px;"></div>
<div id="RightColumn" style="float: right; width: 200px;"></div>
</div>
OR
<div id="Container">
<div id="RightColumn" style="float: right; width: 200px;"></div>
<div id="LeftColumn" style="margin-right: 200px;"></div>
</div>
答案 2 :(得分:2)
如果您不想浮动div,可以执行以下操作:
.rightDiv {
position: absolute;
right: 0;
width: 200px;
}
.mainDiv {
position: absolute;
left: 0;
right: 200px;
}
答案 3 :(得分:1)
是的,有可能。将右列的样式设置为float:right和width:200px,左列将是内容并占据宽度的其余部分。