Как выровнять текст в блоке по вертикали?

123
[Удален]
#11
Matt Cutts:
нет такого аттрибута

аттрибута может и нет, а атрибут есть

O
На сайте с 29.05.2008
Offline
195
#12

Anamnado, вот реализуйте это с помощью line-height, а потом говорите. Во-первых, это попросту неправильная реализация, т.к., данное свойство имеет совсем другое назначение. Во-вторых, вы вообще знаете как оно сработает, если к примеру, текст не влезет по ширине? Вот попробуйте, и расскажите нам, как перенесенный текст уйдет за границы допустимого height. И еще, line-height не означает вертикальное центрирование текста. ;) У некоторых шрифтов, эти отступы могут быть 30% сверху, а 70% снизу. Какая же это центровка тогда?

Anamnado
На сайте с 08.02.2010
Offline
242
#13

ortegas, реализовать что это ?

я же уже реализовал - всяких если может быть мильен (что значит если не влезет по ширине - что значит у некоторых шрифтов? мне чужды эти если если не оговорено в ТЗ )

а если не париться ваще с этим ?

#div{

padding:

...

}

универсально.

O
На сайте с 29.05.2008
Offline
195
#14
Anamnado:
что значит если не влезет по ширине

http://s019.radikal.ru/i631/1305/d5/6e630367d211.png вот что это значит. Отступы будут не только от текста, а от каждой строки. Понимаете? А ТСу нужно выровнять блок с текстом, а не отдельные строки!

#div{
padding:
...
}

В данном случае, если бы текст был фиксированной длины, универсальным было бы решение p {margin}, padding для других целей. Для центровки используется margin. Для горизонтальной центровки даже предусмотрен специальное значение auto, для вертикальное, нет. Не задумывались, почему auto значение не доступно для padding?

Anamnado
На сайте с 08.02.2010
Offline
242
#15

ortegas, да понимаю поэтому и

line-height: высота блока в пикселях (но для текста в одну строчку это)

сразу вопрос какая ширина блока какой длинны текст, какой размер шрифта - чтобы знать пригоден ли этот метод.

метод пригоден использую сам, там где он применяем, жалоб не поступало

O
На сайте с 29.05.2008
Offline
195
#16

Anamnado, ТС написал "произвольной длины", высота блока 400px. А теперь давайте подумаем, будет ли в таком большом блоке, абзац с размером в пару слов? И нужна бы была тогда ему центровка? Думаю, в этом случае, ТС бы не задумывая обошелся обычным margin.

Еще раз. line-height не применим для формирования отступов в блоках! Не обязательно если на ваших 1920x1080 это смотрится так как нужно, оно будет смотреться также на, скажем, планшете.

line-height это размер ячейки для строки текста. Он применим в формировании отступов между строками текста и не имеет смысла в случае с одной строкой. В случае если нужно оформить отступ в середине блока - padding, отступ от блока - margin.

Anamnado
На сайте с 08.02.2010
Offline
242
#17

ortegas, блин как же сложно то

ну я написал вариант, когда произвольной длины, но не превышает ширину блока, чтобы переходить на другую строку (для коротких фраз). может кому то еще пригодится.

произвольная длинна подразумевает и возможный зашкал по заданной высоте. ну что ж теперь

зачем вообще усираться делать блоками, если это легко реализуется таблицами - пик моды?

вот вариант http://ab-w.net/CSS/css_text_align.php

ну так не разрабатывайте структуру такого вида которую не можете реализовать блоками - и всё упроститься )

ps/


Microsoft, к сожалению, не поддерживает vertical-align



вопрос уже избитый http://lysenka.net/web/10/

ну и в итоге я вместо ТС решил его проблему, которая не нужна мне... - нах бы мне это надо было :D

O
На сайте с 29.05.2008
Offline
195
#18
Microsoft, к сожалению, не поддерживает vertical-align

Действительно жалко за него. IE6 уже почти никто не использует. Спасибо, тому же мелкософту. Не будем думать за пользователей, которые не могут по заботится о своем компьютере. Это ведь не наше дело? И не наше дело латать дыры и писать плагины к "бедным" программам. Пускай догоняет мелкософт, гляди и IE15 начнет показывать страницы написанные под -webkit-. :)

line-height - междустрочный интервал.

ну я написал вариант, когда произвольной длины, но не превышает ширину блока, чтобы переходить на другую строку (для коротких фраз).

Некорректно использовать междустрочный интервал для одной строки. Даже словосочетание "большая энциклопедия" 14px может быть разбито между двух строк. Соответственно, слово энциклопедия вообще выйдет за допустимый height, и при родительском overflow: none, не будет показано вообще. Это фатально.

зачем вообще усираться делать блоками, если это легко реализуется таблицами - пик моды?

Вот и я не понимаю, чем не устраивает документированная реализация (vertical-align)? Семантическое значение тега table - таблица. Если мы работаем с таблицей значений, нужно использовать table и только его, но если мы работаем блоком - нужно использовать div. Это же понятно, правда? Вот, к примеру, посмотрите на блок поста на данном форуме. Это div. Блок персональной информации слева - div. Знаете, почему? - Это не дамп базы данных вида ячейка - значение, это читабельно оформленный блок, и неуместно использование table. Во-первых, не предназначено, во-вторых, оформление таблиц в каждом из браузере по умолчанию "свое", в-третьих, громоздкая конструкция тега.

Anamnado
На сайте с 08.02.2010
Offline
242
#19

ortegas, это не мне это заказчикам объясните, чем отличается 1000 рублевая верстка от 5 тысячной :D

(долгий рассказ, почему стоит делать за 4-5, а не за 1-2 накрутит еще трудоемкость +1000 и не факт, что согласятся взять при этом :D)

O
На сайте с 29.05.2008
Offline
195
#20

Anamnado, ну мы же говорим о профессионализме, а не о том, как наклепать побольше говносайтов. :)

123

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