【发布时间】:2018-04-23 14:52:45
【问题描述】:
【问题讨论】:
-
你只需要在左边的div上设置
flex: 1。
【问题讨论】:
flex: 1。
您可以在此处使用 CSS calc() function 从.left div 中减去固定.right div 的width。
calc() CSS 函数允许您在指定时执行计算 CSS 属性值。
#bx{
background:black;
height:200px;
padding:10px;
}
#bx > .left{
display:inline-block;
width:calc(99% - 200px); /*Minus width of .right using calc()*/
height:100%;
background:yellow;
}
#bx > .right{
display:inline-block;
width:200px;
height:100%;
background:red;
}
<div id="bx">
<div class="left">Left Div</div>
<div class="right">Right Div Fixed Width.</div>
</div>
【讨论】:
width: auto;,它是默认的。
有很多方法可以实现这一点,但您可能希望使用 flex-boxes,因为它现在被广泛使用。
检查caniuse,看看它是否符合您的浏览器要求。
标记:
<div class="container">
<div class="left-container">Autofill remaining width</div>
<div class="fixed-container">200px</div>
</div>
CSS:
.container{
display: flex;
}
.left-container {
background-color: red;
flex: 1;
}
.fixed-container {
flex-basis: 200px;
background-color: yellow;
text-align: center;
}
【讨论】:
我认为这可以实现您所追求的,但我不确定它是最好的方式......
.container {
width: 100%;
height: 200px;
background-color: green;
}
.sidebar {
float: right;
width: 200px;
height: 200px;
background-color: blue;
}
.content {
background-color: red;
height: 200px;
margin-right: 200px;
}
<div class="sidebar">width: 200px</div>
<div class="content">
</div>
【讨论】:
width: auto;,它是默认的,第二,你使用clearfix元素,它应该定位在之后 i> 要产生效果的浮动元素。