Я пытаюсь получить три вывода столбца, используя <div>
для каждого.
Прямо сейчас мой div слева выровнен правильно даже средний, но когда я пытаюсь правильно установить, он просто сжимается.
CSS
/* left div */
#left-sidebar, #right-sidebar {
width:15%;
height:700px;
float: left;
padding-left: 15px;
padding-top: 20px;
}
/* middle div */
#mid-content {
width:75%;
padding-left: 30px;
padding-top: 20px;
}
/* right div */
#right-sidebar {
float:right;
}
Прежде всего, ваши элементы составляют до 105%. Во-вторых, вы добавили дополнение к плавающему элементу с шириной, указанной в%, а не хорошей идеей. Посмотрите http://www.w3schools.com/css/css_boxmodel.asp
Вот решение: http://jsfiddle.net/Ru6CL/
#left-sidebar,
#right-sidebar,
#mid-content {
float:left;
}
#left-sidebar,
#right-sidebar {
width: 15%;
background-color: red;
}
#mid-content {
width: 70%;
background-color: blue;
}
не забудьте использовать clear: both;
Что произойдет, если вы измените значения, чтобы добавить до 100%?. Сейчас 75%, 15% и 15% составляют до 105%.
Это происходит потому, что, согласно модели boxs CSSs, размер элемента является суммой его ширины, границы и заполнения, поэтому ваш контент + дополнение превышает 100%.
чтобы решить эту проблему, просто добавьте
box-sizing: border-box;
к вашим колонкам, и он пересчитает необходимую ширину вместе с рассмотренным выше.
Кроме того, вы можете подумать о том, чтобы плавать элементы в одном направлении, то есть слева, так как в противном случае может быть сброшено значение размера коробки.
Я сделал здесь рабочий пример: http://jsfiddle.net/v6peK/