Mac*_*Mac 40 html css css-float
我环顾四周SO
,但找不到与我的匹配相匹配的一个,我基本上有两列固定宽度(185px),另一列没有固定宽度,但我需要最后一列填充最后一个空格,例如
...........................................
.--------- ------------------------------.
.+ + + +.
.+ + + +.
.+ + + +.
.+ + + +.
.+ + ------------------------------.
.+ + .
.+ + .
.+ + .
.--------- .
...........................................
Run Code Online (Sandbox Code Playgroud)
当第二列填充剩余宽度时,第一列应该总是100%到底部,它们都是浮动的left
,如果我调整浏览器窗口的大小,第二列显示在第一列下面.我需要第二列来填充剩余的宽度,并在调整浏览器窗口大小时保持灵活性.
Jac*_*cob 64
实际上比使用浮点数更简单:
.container {
position: relative;
}
.left {
width: 185px;
position: absolute;
top: 0;
left: 0;
}
.right {
margin-left: 185px;
}
Run Code Online (Sandbox Code Playgroud)
html, body, .container {
height:100%;
padding:0;
margin:0;
}
.container {
min-width: 300px;
}
.left {
float:left;
width: 185px;
margin-right: -185px;
height:100%;
}
.right {
margin-left:185px;
}
Run Code Online (Sandbox Code Playgroud)
编辑了解决方案,这次使用flexbox,使左列固定使用flex: 185px 0 0;
然后使右列自动生长使用flex-grow:1
*{
box-sizing: border-box;
}
body{
padding:0;
margin:0;
}
#container{
display:flex;
}
#left{
height: 100vh;
flex: 185px 0 0;
background-color:tomato;
}
#right{
flex-grow: 1;
}
#right > div{
background:pink;
}
Run Code Online (Sandbox Code Playgroud)
<body>
<div id="container">
<div id="left"> Left </div>
<div id="right">
<div>
Right <br/>
dsafasfadf dsafdsfasdf asfasdf adfasdf dsafasfadf dsafasfadf dsafdsfasdf asfasdf adfasdf dsafasfadf dsafasfadf dsafdsfasdf asfasdf adfasdf dsafasfadf dsafdsfasdf asfasdf adfasdf dsafasfadf dsafdsfasdf asfasdf adfasdf dsafasfadf dsafdsfasdf asfasdf adfasdf dsafasfadf dsafdsfasdf asfasdf adfasdf dsafasfadf dsafdsfasdf asfasdf adfasdf dsafasfadf dsafdsfasdf asfasdf adfasdf dsafasfadf dsafdsfasdf asfasdf adfasdf dsafasfadf dsafdsfasdf asfasdf adfasdf dsafasfadf dsafdsfasdf asfasdf adfasdf
</div>
</div>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)