我想要一个左边有固定宽度图像的div和一个有背景颜色的可变宽度div,这应该会在我的设备上扩展它的宽度100%。我不能阻止第二个div溢出我固定的div。
当我添加overflow:隐藏在可变宽度的div时,它只是跳到下一行的照片下面。
我如何才能以正确的方式解决这个问题(即没有hack或空白区,因为我需要让网站稍后响应媒体查询,并且我必须用每个设备的其他分辨率图像来更改图像)?
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;
}
发布于 2012-10-04 18:54:40
尝试从.header-right
中删除float:left
和width:100%
-然后正确的div
将按照请求运行。
.header {
float: left;
background: #efefef;
background-repeat: no-repeat;
width: 240px;
height: 100px;
}
.header-right {
overflow: hidden;
background-color: #000;
height: 100px;
}
<div class="header"></div>
<div class="header-right"></div>
发布于 2019-09-18 21:58:41
使用css grid
可以更容易地实现这一点
对于这两个display: grid
parent
children
.parent
中都使用D16和.parent
中的grid-area
,则需要在D17中使用D16grid-area>在D17中使用调整左侧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的帮助下回答,如果它对某些人有用的话:)
https://stackoverflow.com/questions/12724967
复制相似问题