#2 04.05.06 13:10
Re: [html]Предусмотрено ли вертикальное выравнивание в div?
'vertical-align'
Значение: baseline | sub | super | top | text-top | middle | bottom | text-bottom | <проценты> | <длина> | наследуемое
Начальное значение: baseline
Область применения: строковые и 'table-cell' элементы
Наследование: нет
Процентное задание: относительно значения свойства 'line-height' самого элемента
Устройства: визуального форматирования
Данное свойство влияет на то, как блокам, порожденным строковыми элементами, будет назначаться позиция в вертикальной плоскости внутри линейного блока. Принимаемые им значения имеют смысл только при их рассмотрении относительно родительского элемента строкового уровня или родительского элемента уровня блока, порождающего безымянные строковые блоки. Эти значения не имеют никакого действия, если такие родительские элементы не существуют.
Примечание. Значения данного свойства имеют несколько иной смысл применительно к таблицам. Дополнительную информацию можно найти в разделе об алгоритмах определения высоты таблицы.
baseline - Осуществляется выравнивание базисной линий блока относительно базисной линии его родительского блока. Если у блока нет базисной линии, то выполняется выравнивание его нижней границы относительно базисной линии родительского блока.
middle - Осуществляется выравнивание средней по вертикали точки блока относительно уровня базисной линии родительского блока в сумме с половиной x-высоты родительского блока.
sub - Осуществляется смещение базисной линии блока вниз до надлежащего уровня, отведенного для нижних индексов блока, порожденного родительским элементом. (Это значение не влияет на размер шрифта текста элемента.)
super - Осуществляется смещение базисной линии блока вверх до надлежащего уровня, отведенного для верхних индексов блока, порожденного родительским элементом. (Это значение не влияет на размер шрифта текста элемента.)
text-top - Осуществляется выравнивание верхней границы блока относительно верхней кромки шрифта родительского элемента.
text-bottom - Осуществляется выравнивание нижней границы блока относительно нижней кромки шрифта родительского элемента.
<проценты> - Осуществляется смещение блока на заданную величину (процент от значения свойства 'line-height') вверх (положительное значение) или вниз (отрицательное значение). Значение '0%' аналогично значению 'baseline'.
<длина> - Осуществляется смещение блока на заданную величину вверх (положительное значение) или вниз (отрицательное значение). Значение '0cm' аналогично значению 'baseline'.
Остальные значения определяются относительно линейного блока, в котором отображается генерируемый блок:
top - Осуществляется выравнивание верхней границы блока относительно верхней границы линейного блока.
bottom - Осуществляется выравнивание нижней границы блока относительно нижней границы линейного блока.
Offline
#4 04.05.06 17:22
Re: [html]Предусмотрено ли вертикальное выравнивание в div?
Хм, если я правильно понял, необходимо выровнять текст внутри слоя по вертикали? Тогда можно сделать ещё один вложенный слой, в него ставить текст да придать стиль «position: absolute;» и в зависимости от стиля выравнивания: «top: 0;», «bottom: 0;» или «top: 50%;». Сработает?
Offline
#5 04.05.06 20:56
Re: [html]Предусмотрено ли вертикальное выравнивание в div?
Я делал так.. создавал слой. В него таблицу. в td пиши
valign=""
в кавычках мона писать top, bottom и т.п.
Это отвечает за выравнивание содержимого по высоте
Offline
#7 05.05.06 11:52
Re: [html]Предусмотрено ли вертикальное выравнивание в div?
Anonimizer_me написал(а):
Я делал так.. создавал слой. В него таблицу. в td пиши
valign=""
в кавычках мона писать top, bottom и т.п.
Это отвечает за выравнивание содержимого по высоте
а если мне таблицу нада выровнять? :),это мне нада в таблице сделать управляемую таблицу? :)
Offline
#10 07.05.06 01:43
Re: [html]Предусмотрено ли вертикальное выравнивание в div?
Karminsky, сам-то попробуй сделать и выложи сюда нормальный код. А то говорить то мы все умеем.
Offline
#11 07.05.06 10:31
#12 07.05.06 12:05
Re: [html]Предусмотрено ли вертикальное выравнивание в div?
А теперь напиши этот код и проверь его в браузере.
Текст оказываеться в ЛЕВОМ НИЖНЕМ УГЛУ!!!
А надо по центру экрана!
Offline
#13 07.05.06 12:09
Re: [html]Предусмотрено ли вертикальное выравнивание в div?
Ты прикалываешься что ли? А где ему ещё лежать, если там написано «left:0; bottom:0;»? Где написал, там и лежит. iDrum исправил тему, а я не заметил, изначально просто выравнивание было.
Для центра так надо:
Код: css:
div.out {} div.in { position: absolute; left: 50%; top: 50%; }
Offline
#14 07.05.06 12:36
Re: [html]Предусмотрено ли вертикальное выравнивание в div?
А вот это правильно.
Сэнкс... Буду занать как делать без таблиц :)
Offline
#15 20.05.06 14:58
#16 20.05.06 16:15
Re: [html]Предусмотрено ли вертикальное выравнивание в div?
Вот нашел такой изврат:
Код::
<style type="text/css">
#outer {
height: 400px; overflow: hidden; position: relative;
border:1px solid red;
}
#outer[id] {
display: table; position: static;
}
#middle {border:1px solid green;position: absolute;top: 50%;} /* for explorer only*/
#middle[id] {display: table-cell; vertical-align: middle; position: static;}
#inner {border:1px solid blue;position: relative; top: -50%} /* for explorer only */
/* optional: #inner[id] {position: static;} */
</style>
<div id="outer">
<div id="middle">
<div id="inner">
any text
any height
any content, for example generated from DB
everything is vertically centered
</div>
</div>
</div>Тока нафиг оно нужно, лучше по старинке - табличками. Простенько и сердито :)
Offline

