Как разместить много DIV в CSS
Вопрос
Я прошел длинный урок по W3Schooles, чтобы выучить CSS; Я изучил некоторые основы, но все еще не достиг своей основной цели: позиционирование DIVs
Это то, что я пытаюсь сделать
*---------*---------*
* * *
* * *
*---------*---------*
Моя цель проста и тривиальна для некоторых, но у меня возникают головные боли при выполнении правильного пути , на самом деле я это сделал, но у меня много проблем, когда я добавляю больше текста в DIVs или они просто сливаются с другими DIVs
Я просто поиграл со значениями полей и отступов, используя FireBug. Все, что мне сейчас нужно, это научить меня этому простому (я надеюсь) трюку, чего мне не хватает: как работает это простое позиционирование? Должен ли я использовать абсолютное, относительное позиционирование? Изменить поля, отступы, размер ??
Если у вас есть хороший учебник, объясняющий этот момент, пожалуйста, укажите его. У меня были другие головные боли, ищущие это в Google.
Решение
Похоже, вы пытаетесь разместить два столбца рядом друг с другом. Это довольно просто и подробно описано здесь:
http://www.456bereastreet.com/lab/developing_with_web_standards/csslayout / 2-COL / р>
Я стараюсь держаться подальше от свойства position , если мне не придется накладывать некоторые элементы.
Другие советы
Создание макета с двумя столбцами в CSS
Лично мне не нравится использовать clear: оба в теге br.
Вместо этого используйте переполнение: автоматически в родительском div р>
<div class="container" style="overflow: auto">
<div style="width:300px;float:left"><p>left column</p></div>
<div style="width:300px;float:left"><p>right column</p></div>
</div>
Мне повезло, эмулируя код, найденный в системе сетки 960 . Р>
Правильный путь сложен, потому что многие вещи не являются кросс-браузерными. Браузеры становятся лучше, но это все еще кошмар, если вам нужно использовать что-нибудь совместимое с IE. (много хаков)
С абсолютным позиционированием вы можете размещать абсолютно любой ваш div. недостатком является то, что они застряли в этих положениях независимо от разрешения или размера окна, отображающего вашу страницу.
То, что вы можете сделать, это сместить левый столбец влево, а затем не указывать плавающий в правом столбце. Оставьте положение по умолчанию, не задавая абсолютное или относительное, а затем просто отрегулируйте ширину элементов по мере необходимости.
Если у вас все в порядке с установкой определенной ширины в ваших div-элементах, для меня хорошо сработало следующее:
<div style="width: 200px; float: left;"> left column </div>
<div style="width: 600px; float: left;"> right column </div>
<div style="clear: both;"> footer (can be left blank) </div>
"float: left" заставляет столбцы выстраиваться в ряд Последний div (с clear: both) делает так, чтобы все, что вы помещаете после столбцов, оставалось ниже столбцов. Таким образом, вы можете изменить ширину одного столбца, не вмешиваясь в стилизацию другого.
<div class="container">
<div style="width:300px;float:left"><p>left column</p></div>
<div style="width:300px;float:left"><p>right column</p></div>
<br style="clear:both" />
</div>