29.05.2011, 19:13 | #1 | ||
Мастер
Регистрация: 26.09.2009
Сообщений: 562
Вес репутации: 210
|
Вопросы по html и css
В этом деле новичок, надеюсь на понимание!
Делаю страницу на div-ах, она представляет из себя визитку, так что блоки располагаются нестандартно, так вот вопрос: как сделать чтобы div внутри div-a располагался строго по середине (вертикально), если основной див не фиксированный по вертикали. Вот css: Цитата:
Цитата:
|
||
29.05.2011, 19:15 | #2 |
Эксперт
Регистрация: 03.07.2007
Адрес: Chinatown
Сообщений: 7,265
Вес репутации: 614
|
__________________
тексты по 10 руб/кзнак автоматизируй все, не мучайся! |
29.05.2011, 19:25 | #3 |
Мастер
Регистрация: 26.09.2009
Сообщений: 562
Вес репутации: 210
|
MonAmur,искал я, вот сходу по вашему запросу, открываю первую страницу: http://blog.sribna.com/vertikalnoe-v...ss-chast-2.htm
на нём указан метод, который у меня не работает. |
29.05.2011, 20:09 | #4 |
Эксперт
Регистрация: 03.07.2007
Адрес: Chinatown
Сообщений: 7,265
Вес репутации: 614
|
а если так?
.txt { position : absolute; top : 50%; height : 240px; margin-top : -120px; /* минус от половины высоты */ }
__________________
тексты по 10 руб/кзнак автоматизируй все, не мучайся! |
29.05.2011, 20:43 | #5 | |
Мастер
Регистрация: 26.09.2009
Сообщений: 562
Вес репутации: 210
|
MonAmur, это почти то, что нужно, только не пойму откуда взялось:
height : 240px; margin-top : -120px; /* минус от половины высоты */ и почему именно такие значения? Если меняю их, то с центра уходит, но и так не при всяком разрешении находится строго по центру, немного "гуляет". Правда я переделал немного, мне absolute не подходит, надо relative, чтобы от родительского дива отталкивался. Теперь такой код получился: Цитата:
З.Ы. на абсолюте без проблем по центру выставлял, но мне именно надо от родительского отталкиваться. |
|
29.05.2011, 21:20 | #6 |
Эксперт
Регистрация: 03.07.2007
Адрес: Chinatown
Сообщений: 7,265
Вес репутации: 614
|
может, попробовать использовать 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>
__________________
тексты по 10 руб/кзнак автоматизируй все, не мучайся! |
29.05.2011, 23:26 | #8 |
Новичок
Регистрация: 26.01.2010
Сообщений: 9
Вес репутации: 0
|
1) Отобразить блок по центру в вертикальном порядке возможно только, если задать фикс. высоту и margin:auto 0 (ну или margin:auto, чтоб отобразить по центру как по вертикали, так и по горизонтали). При этом блок должен находиться в пределах тела (body) как родителя либо блока с height:100%. Иначе не получится.
2) Можно блок сделать таблицей - таблица выравнивается без проблем так, как нам надо. 3) Можно через яву задать margin-top, высчитав половину высоты экрана минус половину высоты блока, при этом высоту нужных элементов посчитает сам скрипт. |
30.05.2011, 09:19 | #9 |
Мастер
Регистрация: 26.09.2009
Сообщений: 562
Вес репутации: 210
|
Сделал по совету MonAmurа, пока результат устраивает, за что ему спасибо! )
А вот ещё вопрос, можно ли растягивать div в процентах с бэкграундом в виде картинки? Т.е. чтобы картинка сама увеличивалась или уменьшалась в зависимости от разрешения экрана? Или для каждого разрешения нужно отдельно условия писать? |
30.05.2011, 09:43 | #10 |
Новичок
Регистрация: 26.01.2010
Сообщений: 9
Вес репутации: 0
|
Scalable Background Image Plug-in: http://nooshu.com/jquery-plug-in-sca...ckground-image
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Мои вопросы с 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.