Я пытаюсь установить простую сетку страницы. Каждая строка состоит из необязательного левого столбца плюс столбец с основным содержанием. Я хочу, чтобы правый столбец оставался одного и того же размера в том же положении, даже если левого столбца нет.Позиция: относительные и плавающие элементы
Я понял, что плавание в левой колонке и использование position: relative
с left:
в правой колонке даст мне поведение, которое я хочу.
Моего HTML выглядит следующим образом:
<div class="row">
<div class="sidebar">I'm a sidebar!</div>
<div class="main">
<p>I'm main!</p>
</div>
</div>
и мой CSS выглядит следующим образом:
.sidebar {
float: left;
width: 200px;
border: 1px solid red;
}
.main {
position: relative;
left: 220px;
width: 500px;
border: 1px solid green;
}
Вот скрипка: http://jsfiddle.net/ttr5k/1/
К моему удивлению, содержание .main
сдвинуто правый (как будто .main
имел padding-left
), казалось бы, из-за боковой панели. Почему это и как я могу это решить?
Я также подозреваю, что это не лучший способ построить сетку, есть ли лучший подход?
Positon абсолютна не вариант макета на мой взгляд. Содержимое, следующее за этим элементом, будет игнорировать высоту основного. –