Вернуться   Форум SAPE.RU > Общие вопросы > Разработка и сопровождение сайтов

-->
Ответ
 
Опции темы
Старый 29.05.2011, 19:13   #1
Мастер
 
Аватар для Buradem
 
Регистрация: 26.09.2009
Сообщений: 562
Вес репутации: 210
Buradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущее
По умолчанию Вопросы по html и css

В этом деле новичок, надеюсь на понимание!

Делаю страницу на div-ах, она представляет из себя визитку, так что блоки располагаются нестандартно, так вот вопрос: как сделать чтобы div внутри div-a располагался строго по середине (вертикально), если основной див не фиксированный по вертикали.
Вот css:
Цитата:
html, body {
height:100%;
}
.body {
width:990px;
height:100%;
margin:0 auto;
}
.txt {
bottom:50%;
left:150px;
}
Html выглядит так:
Цитата:
<div class="body">
Меню
<div class="txt">Тут текст, который нужно вертикально отцентровать!
</div>
</div>
Как-то так. Возможно проще было на flash сделать, но интересует именно этот способ. Или это глупости и надо другим путём идти?
Buradem вне форума   Ответить с цитированием
Старый 29.05.2011, 19:25   #3
Мастер
 
Аватар для Buradem
 
Регистрация: 26.09.2009
Сообщений: 562
Вес репутации: 210
Buradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущее
По умолчанию

MonAmur,искал я, вот сходу по вашему запросу, открываю первую страницу: http://blog.sribna.com/vertikalnoe-v...ss-chast-2.htm
на нём указан метод, который у меня не работает.
Buradem вне форума   Ответить с цитированием
Старый 29.05.2011, 20:09   #4
Эксперт
 
Аватар для MonAmur
 
Регистрация: 03.07.2007
Адрес: Chinatown
Сообщений: 7,265
Вес репутации: 614
MonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущее
По умолчанию

а если так?

.txt {
position : absolute;
top : 50%;
height : 240px;
margin-top : -120px; /* минус от половины высоты */
}
MonAmur вне форума   Ответить с цитированием
Старый 29.05.2011, 20:43   #5
Мастер
 
Аватар для Buradem
 
Регистрация: 26.09.2009
Сообщений: 562
Вес репутации: 210
Buradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущее
По умолчанию

MonAmur, это почти то, что нужно, только не пойму откуда взялось:
height : 240px;
margin-top : -120px; /* минус от половины высоты */
и почему именно такие значения? Если меняю их, то с центра уходит, но и так не при всяком разрешении находится строго по центру, немного "гуляет".
Правда я переделал немного, мне absolute не подходит, надо relative, чтобы от родительского дива отталкивался.
Теперь такой код получился:
Цитата:
.txt {
position:relative;
top : 50%;
height : 240px;
margin-top : -120px;
font-size:22px;
font-style:italic;
left:120px;
width:500px;
}
Поясните плиз про height, пробовал до этого и top и bottom указывать, но эффекта не было никакого! (

З.Ы. на абсолюте без проблем по центру выставлял, но мне именно надо от родительского отталкиваться.
Buradem вне форума   Ответить с цитированием
Старый 29.05.2011, 21:20   #6
Эксперт
 
Аватар для MonAmur
 
Регистрация: 03.07.2007
Адрес: Chinatown
Сообщений: 7,265
Вес репутации: 614
MonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущее
По умолчанию

может, попробовать использовать display: table-cell; с cssхаком для IE:

<style type="text/css">
.box{
display: table-cell;
vertical-align: middle;
height:200px;
border:1px solid #666;
}
.middle{
margin-top:expression((parentNode.offsetHeight - this.offsetHeight)<0 ? "0" : (parentNode.offsetHeight - this.offsetHeight)/2 + "px");
}
</style>

<div class="box">
<div class="middle">
Эта строка находится в центре<br />
И эта тоже
</div>
</div>
MonAmur вне форума   Ответить с цитированием
Старый 29.05.2011, 21:34   #7
Мастер
 
Аватар для Buradem
 
Регистрация: 26.09.2009
Сообщений: 562
Вес репутации: 210
Buradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущее
По умолчанию

Тоже так пробовал, не получается тогда по высоте растянуть, height:100%; не хочет почему-то работать с display: table-cell;
Хороший вариант, если только заставить его растянуться как надо)
Buradem вне форума   Ответить с цитированием
Старый 29.05.2011, 23:26   #8
Новичок
 
Регистрация: 26.01.2010
Сообщений: 9
Вес репутации: 0
karasssa на пути к лучшему
По умолчанию

1) Отобразить блок по центру в вертикальном порядке возможно только, если задать фикс. высоту и margin:auto 0 (ну или margin:auto, чтоб отобразить по центру как по вертикали, так и по горизонтали). При этом блок должен находиться в пределах тела (body) как родителя либо блока с height:100%. Иначе не получится.

2) Можно блок сделать таблицей - таблица выравнивается без проблем так, как нам надо.

3) Можно через яву задать margin-top, высчитав половину высоты экрана минус половину высоты блока, при этом высоту нужных элементов посчитает сам скрипт.
karasssa вне форума   Ответить с цитированием
Старый 30.05.2011, 09:19   #9
Мастер
 
Аватар для Buradem
 
Регистрация: 26.09.2009
Сообщений: 562
Вес репутации: 210
Buradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущееBuradem - прекрасное будущее
По умолчанию

Сделал по совету MonAmurа, пока результат устраивает, за что ему спасибо! )
А вот ещё вопрос, можно ли растягивать div в процентах с бэкграундом в виде картинки? Т.е. чтобы картинка сама увеличивалась или уменьшалась в зависимости от разрешения экрана? Или для каждого разрешения нужно отдельно условия писать?
Buradem вне форума   Ответить с цитированием
Старый 30.05.2011, 09:43   #10
Новичок
 
Регистрация: 26.01.2010
Сообщений: 9
Вес репутации: 0
karasssa на пути к лучшему
По умолчанию

Scalable Background Image Plug-in: http://nooshu.com/jquery-plug-in-sca...ckground-image
karasssa вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мои вопросы с VPS (VDS) makis` Хостинг и доменные имена 58 16.10.2011 13:18
Вопросы по php Русская мафия Разработка и сопровождение сайтов 312 26.02.2011 10:36
Вопросы по С++ Русская мафия Курилка 67 01.12.2010 08:07
Вопросы по АГС artoff Яндекс 11 04.08.2010 09:26
Вопросы borodun Вопросы от новичков 5 11.06.2008 17:56


Часовой пояс GMT +3, время: 19:59.