我想要两个水平div。 左div的宽度是200px并且是固定的。 右侧div的宽度默认为600px,应该是响应式的。如果用户调整浏览器的大小,则右侧div的宽度可能会减小,右侧div会显示滚动条。
我正在尝试使用float和overflow来完成它。但我无法想出正确的解决方案。 我该怎么办?
答案 0 :(得分:0)
使用display:table
和display:table-cell
获得更好的结果。
<div class="main">
<div class="left">sdfsf</div>
<div class="right">sfsdfdsfsfdsfds</div>
</div>
.main{display:table; width:100%;}
.left
{
display:table-cell;
min-width:200px;
width:200px;
border:1px solid red;
}
.right
{
display:table-cell;
width:auto;
border:1px solid green;
}
答案 1 :(得分:0)
仅仅因为我不喜欢display:table
:
可以使用flexbox
来实现您正在寻找的内容。
我们的想法是使用right
设置width:100%
元素的宽度,使用left
设置width: 200px; min-width:200px
。
我不确定您对溢出的含义,但我的解决方案将right
元素的overflow
设置为scroll
,并且放置了内容在div
为width
600px
内
这里是demo。
答案 2 :(得分:0)
您的请求有点奇怪,可以完成但不幸的是不使用纯CSS级别1。为了使元素“float
”和具有第二个div
溢出而不是body
元素,您必须使用{{{}的组合1}}和position
。
将其复制到(x)html文件并调整浏览器大小......
overflow
我强烈建议不使用它,即使您的浏览器支持要求非常放松,因为仅使用静态布局实际上是IE6时代的一种盒子式的思维方式。如果它是一个客户端,你真的需要强制覆盖它们。