У меня есть контейнер box1
с определенной шириной (которая может меняться в зависимости от его содержимого). Это поле содержит box2
с фиксированной шириной (это может быть значок). Рядом с box2
у меня есть box3
с текстом. Я хочу, чтобы текст использовал все пространство, доступное справа от box2
. С HTML-кодом, вставленным ниже, вы получите:
Все идет нормально. Если текст становится длиннее, он не обтекает box2
(это то, что я хочу), однако он не увеличивает box1
, что является моей проблемой. Вы скажете мне: «Эй, если бы вы сделали box3
position: absolute
, как вы могли ожидать, что это заставит box1
расти?». Ну, я не знаю, но тогда как я могу заставить box3
отображаться рядом с box2
, использовать все доступное горизонтальное пространство и при необходимости увеличить box1
? (Должен ли я говорить, что я хотел бы, чтобы эта работа работала в IE6 и дальше, и чтобы не использовать таблицу?)
<!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" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style type="text/css">
#box1 { position: relative }
#box3 { position: absolute; left: 2.5em; right: .5em; top: .5em }
/* Styling */
#box1 { background: #ddd; padding: 1em 0.5em; width: 20em }
#box2 { background: #999; padding: .5em; }
#box3 { background: #bbb; padding: .5em; }
body { font-family: sans-serif }
</style>
<script type="text/javascript">
</script>
</head>
<body>
<div id="box1">
<span id="box2">2</span>
<span id="box3">3</span>
</div>
</body>
</html>
overflow: hidden
имеет такой эффект), а также представил там другое решение, в котором используетсяmargin-left
: wiki.orbeon.com/forms/doc/contributor-guide/ 19.04.2011overflow:hidden
действительно работает очень хорошо во многих случаях, в том числе и в этом. Но решение, которое работает более последовательно по всем направлениям, — это ясное исправление, упомянутое в ответе @hesselbom. Более полноценное решение сетки, которое по-прежнему очень гибкое (т. е. не ограничено макетом из 12 столбцов), см. решение/" rel="nofollow noreferrer">csswizardry.com/2013/02/responsive-grid-systems-a-solution. См. также фреймворки purecss.io и materializecss.com. 21.11.2015