Официальный сайт студ.городка НГТУ
Программирование и БД » [html]Предусмотрено ли вертикальное выравнивание в div? 

#1  04.05.06 12:56

[html]Предусмотрено ли вертикальное выравнивание в div?

в слое лежит таблица.Нужно её middle расположить.text-align:middle и vertical-align=middle не пашут

Исправлено iDrum (04.05.06 13:04)

Offline

#2  04.05.06 13:10

Maq
Профиль

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

#3  04.05.06 13:19

Re: [html]Предусмотрено ли вертикальное выравнивание в div?

а теперь для "внутреностей" слоя плиз :)

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

#6  04.05.06 21:04

Re: [html]Предусмотрено ли вертикальное выравнивание в div?

Извращене-е-е-ец

Offline

#7  05.05.06 11:52

Re: [html]Предусмотрено ли вертикальное выравнивание в div?

Anonimizer_me написал(а):

Я делал так.. создавал слой. В него таблицу. в td  пиши
valign=""
в кавычках мона писать top, bottom и т.п.
Это отвечает за выравнивание содержимого по высоте

а если мне таблицу нада выровнять? :),это мне нада в таблице сделать управляемую таблицу? :)

Offline

#8  06.05.06 12:12

Re: [html]Предусмотрено ли вертикальное выравнивание в div?

Anonimizer_me написал(а):

Я делал так.. создавал слой. В него таблицу....

Согласен. Работает на 100%

Offline

#9  06.05.06 14:04

Re: [html]Предусмотрено ли вертикальное выравнивание в div?

Да вы извращенцы, вам нельзя проекты нормальные доверять... А в ту таблицу ещё слой и ещё таблицу... классно выравниваете

Offline

#10  07.05.06 01:43

Re: [html]Предусмотрено ли вертикальное выравнивание в div?

Karminsky, сам-то попробуй сделать и выложи сюда нормальный код. А то говорить то мы все умеем.

Offline

#11  07.05.06 10:31

Re: [html]Предусмотрено ли вертикальное выравнивание в div?

Код: css:

div.out {}
 
div.in {
  position: absolute;
  left: 0;
  bottom: 0;
}

Код: html:

<div class="out">
  <div class="in">
    <p>Bla-bla-bla</p>
  </div>
</div>

Offline

#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

Re: [html]Предусмотрено ли вертикальное выравнивание в div?

все равно криво...
в центр помещается левый верхний угол внутреннего слоя

Offline

#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

#17  22.05.06 11:04

Re: [html]Предусмотрено ли вертикальное выравнивание в div?

спасибо ToXa за своевременную помощь)

Offline

Программирование и БД » [html]Предусмотрено ли вертикальное выравнивание в div? 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.087 сек.
Выполнено 14 запросов.