我想要一个左边有固定宽度图像的div和一个带有背景颜色的可变宽度div,它应该在我的设备上扩展它的宽度100%。 我无法阻止第二个div溢出我的固定div。
当我添加溢出:隐藏在可变宽度div时,它只是跳到下一行的照片下面。
如何以正确的方式解决这个问题(即没有黑客或留下边距,因为我需要稍后使用媒体查询使网站响应,我必须为每个设备更改其他分辨率图像的图像)?
HTML:
<div class="header"></div>
<div class="header-right"></div>
CSS:
.header{
float:left;
background-image: url('img/header.png');
background-repeat: no-repeat;
width: 240px;
height: 100px;
}
.header-right{
float:left;
overflow:hidden;
background-color:#000;
width: 100%;
height: 100px;
}
答案 0 :(得分:55)
尝试从float:left
移除width:100%
和.header-right
- 右div
然后按要求行事。
请参阅this jsfiddle。
答案 1 :(得分:0)
使用css grid
可以更轻松地实现这一目标
parent
.parent
display: grid
grid-template-areas
和.parent
中的grid-area
children
float: left
中都不需要使用children
使用grid-template-columns
中的.parent
调整左div的宽度
.parent {
display: grid;
grid-template-columns: 240px 1fr;
grid-template-rows: auto 1fr;
grid-template-areas: "header-left header-right";
}
.header {
background-image: url(img/header.png);
background-color: #ebebeb;
background-repeat: no-repeat;
height: 100px;
grid-area: header-left;
}
.header-right {
overflow: hidden;
background-color: #000;
width: 100%;
height: 100px;
grid-area: header-right;
}
<div class="parent">
<div class="header"></div>
<div class="header-right"></div>
</div>
css变得更加先进,并在高级CSS的帮助下进行回答,即使它可能对某人有用:)