我正在尝试为网络应用做出响应式设计,但我遇到的问题是div在包装时没有调整大小。我尽量避免使用javascript来设置样式。
我有一个包含flex-flow的包装div:column wrap;。里面的div有一个最小宽度,所以当屏幕太短时,它会换成一排。问题是如果第二个div是水平填充的,它在包装时不会水平调整大小。
这是我的问题的一个例子:
HTML:
<div id=wrapper>
<div id=header>
Header<br />
Resize the black box to see the issue.
</div>
<div id=middle>
<div id=middle-left>Middle Left</div>
<div id=middle-right>Middle-ish from a more vertical point of view but definitely more to the right side, though only if it's not too tall, then it's more of a middle-low vertically.</div>
</div>
<div id=bottom>Bottom</div>
</div>
CSS3:
#wrapper {
border:2px solid;
padding:10px 40px;
width:500px;
height:600px;
resize:vertical;
overflow:auto;
display: flex;
flex-flow: column nowrap;
}
#header, #middle, #bottom {
border:1px solid red;
}
#middle-left, #middle-right {
border:1px solid blue;
min-height:100px;
flex:1;
}
#middle-left {
min-width:200px;
}
#header {
flex: 3 1;
}
#middle {
flex:3;
display:flex;
flex-flow:column wrap;
}
#bottom {
flex:1;
}
答案 0 :(得分:1)
我想出来了。我最终使用了具有最大宽度和最大高度的CSS媒体查询。这是一种做事的hackish方式,但似乎没有其他工作。
答案 1 :(得分:0)
使用父容器上的overflow
属性来避免此问题:
#middle {
overflow: hidden;
}