Нужна помощь: три колонки на div

12
grey109
На сайте с 15.06.2005
Offline
174
1011

Здравствуйте!

Всю жизнь верстал на таблицах, а тут понадобилось переверстать один сайт на div'ах. Сайт простой, весь шаблон это шапка, три колонки, подвал. Нашел пример:

<div id="left">px</div>

<div id="right">px</div>

<div id="center">%</div>

<div id="footer">footer</div>

#left {

width: 100px;

float: left;

}

#center {

margin-left: 100px;

margin-right: 100px;

}

#right{

width: 100px;

float:right;

}

#footer{

clear:both;

}

Все вроде бы как надо, но есть один нюанс: в коде идет сначала <div id="left"> <div id="right">, <div id="center">, а мне бы сделать порядок блоков left, center, right (чтобы не переписывать скрипты). Просто так поменять местами блоки не получается - рушится дизайн. Нашел в интернете несколько примеров той последовательности вывода блоков, который мне нужен, но там какое-то безумное количество вложенных блоков, десятки строк css.

Подскажите, это действительно не так просто сделать или я просто неудачные примеры нашел?

Если кто поделиться кодом для решения этой задачи – буду благодарен.

web-developer
На сайте с 24.11.2014
Offline
15
#1

#left {

width:10%;

float:left;

}

#center {

float:left;

width:80%;

padding:0 1%;

}

#right{

float:right;

width:10%;

}

#footer{

clear:both;

}

P.S Старайтесь не использовать id, и Старайтесь использовать вложенности.

P.S.S Не обязательно проводить перестановку блоков, попробуйте вставить css который я Вам написал.

vandamme
На сайте с 30.11.2008
Offline
675
#2
web-developer:
#left {
width:10%;
float:left;
}

Чушь же, где вы видели боковые колонки процентной ширины? На 99% сайтов фиксы.

В любом случае дивы придется добавлять

web-developer
На сайте с 24.11.2014
Offline
15
#3
vandamme:
Чушь же, где вы видели боковые колонки процентной ширины? На 99% сайтов фиксы.
В любом случае дивы придется добавлять

Логично что при ширине контейнера 1000px, колонка примет значение 100px.

vandamme
На сайте с 30.11.2008
Offline
675
#4

web-developer, а при 3000 примет 300. Логично?

web-developer
На сайте с 24.11.2014
Offline
15
#5
vandamme:
web-developer, а при 3000 примет 300. Логично?

Логично то, что у основного контейнера будет фиксированная ширина.

И блоки будут принимать разные значения в зависимости от ширины родительского контейнера.

На дворе 21-век. Посмотрите как верстаются современные шаблоны.

http://themes.getbootstrap.com/collections/all

К примеру:

http://themes.getbootstrap.com/products/dashboard

Ширина .bw 1170px

А сайдбар, и контент в процентном соотношении, по отношению к родителю.

grey109
На сайте с 15.06.2005
Offline
174
#6

web-developer, увы, ваш код не работает, да и отличия в нем только то, что величины заданы в %, а у меня боковые колонки фиксированные, центральная - резиновая.

Старайтесь не использовать id, и Старайтесь использовать вложенности.

Почему использование id - плохо, а вложенные блоки - хорошо?

I2
На сайте с 07.03.2015
Offline
38
#7

Здравстуйте.


#left {
width: 20%;
float: left;
}

#center {
float: none;
margin: 0 auto;
width: 60%;
display:table;
}

#right{
width: 20%;
float:right;
}

#footer{
clear:both;
}

как то так...

ну или ширины в пиксилях, дело ваше.

Качественная верстка PSD макетов (/ru/forum/974524)
web-developer
На сайте с 24.11.2014
Offline
15
#8
grey109:
web-developer, увы, ваш код не работает, да и отличия в нем только то, что величины заданы в %, а у меня боковые колонки фиксированные, центральная - резиновая.



Почему использование id - плохо, а вложенные блоки - хорошо?

А где сказано что id = плохо?

Наверное тут больше мои предрассудки касательно красивого кода.

<div class="wrap">

<div class="left"></div>

<div class="content"></div>

<div class="right"></div>

</div>

grey109
На сайте с 15.06.2005
Offline
174
#9
indenger20:
как то так...

Не, вообще никак - все расползается :)

web-developer
На сайте с 24.11.2014
Offline
15
#10
grey109:
Не, вообще никак - все расползается :)

Может Вы скинете нам ссылку на сайт, а мы уже Вам подскажем что и куда вставить?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий