I want a div with a fixed width image on the left and a variable width div with a background color, which should extend its width 100% on my device. I can\'t stop the second div
Try removing the float:left
and width:100%
from .header-right
— the right div
then behaves as requested.
.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>
with the use of css grid
you can achieve this more easily
parent
.parent
display: grid
grid-template-areas
in .parent
and grid-area
in both
children
float: left
in both children
adjust the width of left div using grid-template-columns
in .parent
.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 has become much more advanced and answering with the help of that advanced css just if it can be useful to someone :)