Учитывая, что вы хотите, чтобы второй из дочерних элементов div
был полной оставшейся шириной родительского элемента, вам не нужно float
его. Учитывая следующую наценку:
<div id="parent">
<div id="one">The first div, fixed width</div>
<div id="two">The second, taking up the rest of the space.</div>
</div>
И CSS:
#parent {
width: 90%; /* adjust to taste */
padding: 10px;
background-color: #ffa; /* just to see where each element is in the document */
overflow: hidden; /* to ensure the parent encloses the floated child div */
}
#one {
float: left;
width: 100px; /* whatever width you need */
background-color: red;
}
#two {
background-color: #f90;
}
Похоже, это дает искомый эффект: Демонстрация JS Fiddle , хотя тестируется только в Chromium 17 на Ubuntu 11.04.
<ч />
Отредактировано в ответ на комментарий от OP ниже:
Когда я удаляю float из моего второго div или в моем примере с jsfiddle, заголовок фона заполняет весь родительский элемент. Не уверен, что я делаю не так ...
Проблема в том, что float
-элементный элемент извлекается из потока документа, а второй div
(.title
в вашей JS Fiddle ) простирается "за" ним.
Во избежание этого вам нужно удалить float
из второго элемента div (он все еще находится в ссылке, которую вы разместили), а также присвоить margin-left
элементу .title
, чтобы он не принял полная ширина:
.title{
padding: 17px 20px 0;
background-color: red;
height:54px;
margin-left: 200px;
}
JS Fiddle demo .
Если по какой-либо причине вы не можете дать margin-left
, вместо этого вы можете использовать height: 100%;
на float
-ed div
(.time
), хотя это проблематично из-за padding (учитывая, что высота элемента определена-height + padding):
.time{
padding: 17px 20px 0;
float:left;
margin-right: 20px;
height: 100%;
background-color: black;
}
JS Fiddle demo .
Чтобы исправить проблему height
, в совместимых браузерах можно использовать свойство CSS box-sizing
, чтобы включить padding
в height
:
.time{
padding: 17px 20px 0;
float:left;
margin-right: 20px;
height: 100%;
background-color: black;
box-sizing: border-box;
}
JS Fiddle demo .