我有两个div,右边是80px宽,另一个应该填满剩余空间。到目前为止我试过了:
<!DOCTYPE html>
<html>
<head>
<title>#{get 'title' /}</title>
<style type="text/css">
body {
margin: 0;
padding: 0;
}
#left {
position: relative;
margin-right: 80px;
background-color: red;
}
#right {
float: right;
position: relative;
text-align: left;
width: 80px;
background-color: yellow;
}
</style>
</head>
<body>
<div id="left">
Left
</div>
<div id="right">
Right
</div>
</body>
</html>
但是,右侧框始终位于左侧框下方,而不是右侧框。我想这是因为保证金。我也尝试了一个左边距:-80px在右边但这似乎没有改变任何东西。那么我该如何更改CSS以使右边的div与左边的div在同一行?
答案 0 :(得分:13)
答案 1 :(得分:3)
或者,如果您正在寻找LEFT div保持静态宽度而RIGHT div扩展并缩小页面大小,则使用以下代码:
.left {
float: left;
position: relative;
width: 80px;
background-color: red;
}
.right {
position: relative;
text-align: left;
margin-left: 80px;
background-color: yellow;
}
HTML就是......
<div class="left">Left</div>
<div class="right">Right</div>
答案 2 :(得分:2)
那是因为div
是一个块元素,这意味着它总会打破流程。您可以做的是将div的display
更改为inline
,将float
更改为left
。
答案 3 :(得分:1)
您可以将position:relative;
的{{1}}更改为#right
。
这会将元素放置在其父元素的右上角。
答案 4 :(得分:1)
现在可以使用flex
完成。
将容器&(在这种情况下为body
)display
属性设置为flex
,然后将左div
的宽度设置为100%
。< / p>
body {
margin: 0;
padding: 0;
display: flex;
}
#left {
background-color: red;
width: 100%;
}
#right {
width: 80px;
background-color: yellow;
}
&#13;
<!DOCTYPE html>
<html>
<head>
<title>#{get 'title' /}</title>
</head>
<body>
<div id="left">
Left
</div>
<div id="right">
Right
</div>
</body>
</html>
&#13;