Нужна помощь в верстке.

S
На сайте с 20.08.2007
Offline
140
566

Столкнулся с такой проблемой:

нужно подвесить абсолютно позиционированный блок с заданным размером на середине страницы. Не получается :confused:

Слой висит в <body>, который имеет ширину 100%. Вот код:


#center_box {
position:absolute;
width: 402px;
margin-left:30%;
margin-right: 30%;
top:30px;
height:45px;
white-space:nowrap;
}

При разрешении 1024х768 висит посредине. А при разрешении 1280х1024 30% от левого края уже далеко от середины и блок смещается влево. Правый margin, само собой игнорируется.

Подскажите пожалуйста, как выровнять посредине.

Ткач
На сайте с 29.04.2007
Offline
95
#1

естесственно слева, вы же 30% задали от левого края

Разработка и создание сайтов. Красиво, функционально, недорого. (http://time-online.ru/) ICQ 388-474-890)
deepslam
На сайте с 09.05.2006
Offline
204
#2

Попробуйте так:


#center_box {
margin:0 auto;
width: 402px;
top:30px;
height:45px;
white-space:nowrap;
}
Удаление вирусов на сайте (http://www.virusonsite.ru) | Scripto CMS - бесплатная система управления сайтом (http://www.scripto-cms.ru) |Профессиональный скрипт каталога ссылок , статей, фирм и объявлений! (http://www.scripto.ru) | Уникальный скрипт для публикации контента (http://publisher.scripto.ru)
S
На сайте с 20.08.2007
Offline
140
#3
deepslam:
Попробуйте так:

Уплывает влево =(

Эх, раньше было время - указал align=center и никаких проблем...

Topcrust
На сайте с 23.06.2006
Offline
67
#4

а если так:


#center_box {
border: 1px solid #c00;
position:absolute;
width: 402px;
margin-left: -201px;
left: 50%;
margin-right: 30%;
top:30px;
height:45px;
white-space:nowrap;
}

дополнение: margin-right и border есесно можно убрать... В мозилле 2.0.0.7 и ИЕ6 работает.

T4
На сайте с 20.09.2007
Offline
25
tt4
#5

Внешний блок (пусть даже body) должен иметь атрибут text-align:center;

Внутренний блок должен иметь атрибут width:XXpx и margin:0 auto;

Ширина внутреннего блока может быть в процентах. margin может иметь отступы сверху и снизу, но справа и слева - auto. Например, корректна такая конструкция: margin:10px auto 100px auto;

S
На сайте с 20.08.2007
Offline
140
#6

Спасибо большое всем откликнувшимся! Вариант Topcrust вполне рабочий. Хотя я так и не понял, честно говоря, механизм.

tt4, Вам тоже большое спасибо, но после text-align:center; в боди я впоследствии очень замучаюсь бороться с текстом на всем сайте.

BrokenBrake
На сайте с 03.03.2007
Offline
194
#7

Да и text-align всё равно вообще не при чем :)

a.fatman
На сайте с 15.01.2006
Offline
127
#8
tt4:
Внешний блок (пусть даже body) должен иметь атрибут text-align:center;

Это нужно только для IE5 или IE6 в quirks mode.

***

С фиксированной шириной -- это просто:


#center_box {
position:absolute;
width: 402px;
left:50%;
top:30px;
height:45px;
margin-left: -201px;
}

Работает в IE5.01-IE7, Opera, FF, Safari.

Ой, не заметил пост Topcrust.

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