Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

[css][html] вертикальное позиционирование inline / block элементофф.

287
12 июля 2005 года
Shiizoo
958 / / 14.03.2004
Уфф.. Так, задача такая - найти самый кросс-браузерный способ позиционирование non-replaced inline и non-replaced block элементов. Это всё не прибегая к использованию таблиц, аттрибута display и не зная ни высоты, ни ширины чего бы то там ни было=) Да, и в рамках xhtml/css2.1. Честно, устал искать (*плюёцца в сторону разработчиков браузеров).

Пример:
 
Код:
<div>
    <span>Текст...</span>
</div>


Для такой ерунды, в принципе, решение нашел. Ночь копался, и только утром осенило. Все прочие методы, какие можно найти в интернете, какая-то несустветная чушь (жесткое задание line-height в абсолютных единицах, padding'и и margin'ы в абс. единицах и т.п., это все не то).

Решение (сработало в последних версиях opera, ie win и netscape):
 
Код:
<html>
<head><title></title></head>
<body>
<div style="border: 1px red solid; height: 200px;">

<span style="line-height: 120%; font-size: 12px;
vertical-align: top;">
Simple 1-line text
</span>
</div></body></html>


Минусы: этот line-box (где img) теперь имеет line-height размером с родительский блок, но, для данной ситуации (и других, гораздо более сложных) подходит как нельзя кстати.

Но, появляется проблема: если line-height теперь высотой с родителя, то как быть с текстом состоящим из двух, трёх и более строк?? Ведь 100% высоты родительского блока будет разделять каждые две соседствующие строки текста, а это - overflow (выход за границы), что еще страшнее неотпозиционированного текста;)

Для block-level элементов я никакого решения вообще не нашел. Relalative/absolute и прочее позиционирование юзал, padding, margin процентные и т.п. юзал, ничего не помогает - все-равно, ну хоть убейся, нормального позиционирования, такого как у связки td/th + valign для варьирующегося объема содержимого, никак не всплывает.

Решение, однозначно, нужно, необходимо, жду ваших идей, теорий, советов и прочего, прочего, прочего...
11K
23 июля 2005 года
loshadka
11 / / 26.04.2005
Сорри, читал вопрос не особенно вникая...
может ты ищешь - вот это:

 
Код:
<div style='float:left; width: 50%; height: 100px; border: 1px solid #f00'>a</div>
<div style='float:left; width: 50%; height: 100px; border: 1px solid #f00'>b

// Или вот это...

<div style='float:left; width: 50%; height: 100px; border: 1px solid #f00'>a</div>
<div style='position: relative; float:right; width: 50%; height: 100px; border: 1px solid #f00'>b</div>
287
26 июля 2005 года
Shiizoo
958 / / 14.03.2004
Да нет, тоже не то=)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог