Да, да, я знаю, что это еще один вопрос о вертикальном выравнивании с CSS, и это было сделано миллион раз раньше.Будьте уверены, что я сталкивался с этой проблемой много раз, и я уже читал о различных способах вертикального центрирования с помощью CSS.Я спрашиваю здесь, потому что ни один из этих способов не делает именно то, что я хочу сделать, и я просто хочу убедиться, что мое подозрение (что вертикальное выравнивание CSS нарушено и не будет делать то, что я хочу, чтобы оно было) определенно верно.
Прежде всего, вот мой тестовый пример: http://www.game -point.net / misc / testAlign /
Вот критерии:
- Я хочу выровнять «центрированный текст» по вертикали относительно DIV, содержащего текст «TestTestTest ...».
- Я не хочу указывать ЛЮБУЮ высоту.
- Iхочу, чтобы DIV-файлы «TestTestTest» и «Центрированный текст» динамически получали свои высоты в соответствии с объемом имеющегося текста и ограничением ширины.
- Я не хочу использовать Javascript.
Это кажется невозможным даже в CSS3, не говоря уже о CSS2.Раздражает то, что я почти на месте;position:absolute; top:-50%;
DIV работает, чтобы установить верхнюю часть этого DIV наполовину ниже контейнера DIV.Проблема в том, что внутренний DIV со стилем position:relative; top:-50%;
не делает ничего, чтобы переместить контент на половину его высоты, чтобы полностью центрировать его, потому что CSS говорит, что абсолютно позиционированный DIV не имеет высоты и, следовательно, top:-50%
бессмысленно.Насколько я могу судить, это просто фундаментальный недостаток CSS без особой причины.Абсолютно позиционированный элемент имеет высоту, и я не знаю, почему CSS притворяется, что это не так.Я просто хотел спросить, есть ли у кого-нибудь идеи о том, как мне достичь желаемого эффекта, изображенного внизу, с учетом критериев, которые я изложил выше.По иронии судьбы IE6 / 7/8 «сломанная» модель бокса в режиме причуд дает мне именно этот эффект.Жаль, что они «исправляют» это в IE9, так что больше не будет.