我在内容div中有三个div,当浏览器调整大小时
>蓝色和红色div必须具有固定宽度
>绿色div必须调整到左侧空间
我也在css中试过这个
.yellow{ height: 100%; width: 100%; } .red{ height: 100%; width:200px; display:inline-block; background-color: red; } .green{ height: 100%; min-width:400px; display:inline-block; background-color:green; } .blue{ height: 100%; width:400px; display:inline-block; background-color: blue; }
我也试过漂浮:左和
display: -webkit-flex; display: flex;
但不能正常工作.这该怎么做?
解决方法
使用flex-grow.对于蓝色和红色容器,将其设置为0,对于绿色容器,将其设置为大:
.red{ height: 100%; width:200px; flex-grow: 0; display:inline-block; background-color: red; } .green{ height: 100%; min-width:400px; flex-grow: 1000; display:inline-block; background-color:green; } .blue{ height: 100%; width:400px; flex-grow: 0; display:inline-block; background-color: blue; }
这里有一个非常好的备忘单:https://css-tricks.com/snippets/css/a-guide-to-flexbox/
另外,不要忘记其他属性,如display:flex;和justify-content:space-between.在上面的链接中完美地解释了它.
但请注意,您不必使用flexBox.您可以使用float实现相同的功能,这使得它与旧版浏览器兼容(为此,只需使用display:block;并将float:left添加到蓝色div并将float:right;添加到红色浏览器.)