Как плавать два divs бок о бок без указания ширины?
У меня есть два div, у первого нет большого количества контента, а у второго много контента. Я хочу, чтобы они плавали бок о бок, чтобы первый div был только таким же широким, как текст, а второй div заполнял оставшееся количество горизонтального пространства. И я не хочу указывать фиксированную ширину.
Вот желаемый внешний вид с использованием таблиц:
http://jsfiddle.net/enRkR/
Можно ли это легко сделать с помощью CSS-поплавков, или это макет таблицы, единственный способ добиться этого?
Ответы
Ответ 1
Да, вы можете сделать это с помощью css и работать во всех браузерах. Сделайте следующее:
.right{
overflow:hidden;
background:red;
}
.left{
float:left;
background:green;
}
Проверьте этот живой пример http://jsfiddle.net/enRkR/8/
Ответ 2
<div style="float:left">less content</div>
<div>More content More content
</div>
Ответ 3
Попробуйте следующее:
<div>
<div id="div1" style="float:left">
content
</div>
<div id="div2" >
content
</div>
<div>
Или
ссылайтесь на это: Как стилизовать элементы Div в виде таблиц
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head><title>table using divs</title>
<style type="text/css">
.div-table{display:table; border:1px solid #003399;}
.div-table-caption{display:table-caption; background:#009999;}
.div-table-row{display:table-row;}
.div-table-col{display:table-cell; padding: 5px; border: 1px solid #003399;}
</style>
</head>
<body>
<div class="div-table">
<div class="div-table-caption">This is a caption</div>
<div class="div-table-row">
<div class="div-table-col">1st Column</div>
<div class="div-table-col">2nd Column</div>
</div>
</div>
</body>
</html>
Примечание.. Чтобы использовать эти значения свойств CSS, вам необходимо иметь веб-браузер, который их поддерживает. К сожалению, это приводит к ограниченному числу веб-браузеров, таких как IE 8, Firefox 3, Opera 9 и т.д.