Я хочу создать два элемента div, left side
имеет фиксированную ширину (ex: 200px)
а right side
имеет динамическую ширину (ex: 100%)
.
Я создал, но не работает по мере необходимости.
HTML
<div id="header">Header</div>
<div id="container">
<div id="left">Left</div>
<div id="right">Right</div>
</div>
CSS
div#header {
height:70px;
border:1px solid;
}
div#left {
width:200px;
height:500px;
float:left;
border:1px solid red;
}
div#right {
width:100%;
height:500px;
float:right;
border:1px solid green;
}
Также вы можете увидеть демо на JSFiddle
На правом элементе div:
1) Удалите поплавок (как указывали другие) и
2) Добавить overflow:hidden
или overflow:auto
создать контекст форматирования нового блока
(Для получения дополнительной информации об этом см. Раздел Как работает контекст форматирования блоков CSS?)
(Без шага 2 - правый div по-прежнему занимает 100% ширину, поэтому вы не видите левую зеленую границу)
Обновлено FIDDLE
Удалите поплавок правого элемента. Смотрите демо здесь
div#right {
height:500px;
border:1px solid green;
}
width:100%;
как его уже элемент блока.
div
- это block
элементы.
использовать calc css property calc (100% - 200px). Для поддержки всех новых браузеров вы можете добавить
width:calc(100% - 200px);
width: -webkit-calc(100% - 200px);
width: -moz-calc(100% - 200px);
HTML
<div id="header">Header</div>
<div id="container">
<div id="right">Right</div>
<div id="left">Left</div>
</div>
CSS
div #container{
width:100%;
height:500px;
}
div#header {
height:70px;
border:1px solid;
}
div#left {
width:200px;
height:500px;
float:left;
background-color:green;
}
div#right {
width:calc(100% - 200px);
width: -webkit-calc(100% - 200px);
width: -moz-calc(100% - 200px);
height:500px;
float:right;
background-color:red;
}