也许是一个重复的问题,但我没有找到解决这个问题的任何方法......
我有一个div
元素(我们称之为master
)并且无法控制它。
所以,我不能修改它的宽度或高度。
在其内部,我有另一个div
(让我们称之为container
),我可以控制它。
在div
内,我有3个ul
元素,每个元素都有240像素。
我希望:
如果master
小于720px(每个ul
的240px乘以ul's
的数量),我想垂直显示ul
个元素(一个在顶部而另一个)
但是如果master
超过720px,我想要水平显示ul
元素(并排)。
除此之外,我希望我的container
元素的最小宽度可以适合ul
个孩子。
这是否可以仅使用 css / html?
我已经尝试过使用flex,float和table而没有成功...
我让this fiddle来帮忙。
说明我的意愿:
灰色框是master
元素
红色的是container
绿色的是ul
元素。
答案 0 :(得分:0)
更新了小提琴:https://jsfiddle.net/qywozaa8/2/。
您可以将float:left
用于ul元素
此外,您还必须使用宽度进行填充(将填充量减少230px,填充为5px)
还将容器overflow:auto
更改为overflow-y: auto
。
希望这有帮助。
更新了css:
div.master {
background-color: gray;
width: 720px; /* I have no control over this. But this value can different (360, 1080 and so on) */
height: 405px; /* I have no control over this. But this value can different (270, 607 and so on) */
}
div.container {
background-color: red;
max-height: 250px;
overflow: auto;
display: inline-block;
min-width: 320px;
max-width: 760px;
/* we can add other attributes here */
}
ul.list {
background-color: green;
width: 240px; /* I have control over this element, but this value cannot be changed */
height: 150px; /* I have control over this element, but this value cannot be changed */
padding: 5px 5px 5px 5px; /* I have control over this element, but this value cannot be changed */
/* we can add other attributes here */
}