История строковой модели

Строковая модель форматирования CSS может показаться чрезмерно сложной и в некоторой степени даже несоответствующей ожиданиям автора. К сожалению, сложность есть результат создания языка стилей, который является обратно-совместимым с веб-броузерами эпохи до CSS и одновременно оставляет возможность для будущего распространения на более сложные задачи – неудобная смесь прошлого и будущего. Это также результат принятия некоторых решений, основанных на здравом смысле, которые, отменяя один нежелательный эффект, становятся причиной возникновения другого.

Например, «разведение» строк текста изображением и вертикально выровненным текстом берет начало еще в поведении Mosaic 1.0. В этом броузере любое изображение в абзаце просто раздвигало строки, чтобы высвободить достаточное количество места для своего размещения. И это правильно, поскольку предотвращает перекрытие изображением текста других строк. Вот почему, когда CSS вводил способы стилевого оформления текста и строковых элементов, его авторы пытались создать модель, которая обеспечивала (по умолчанию) отсутствие перекрытия других строк текста изображениями. Однако эта же модель предполагает, что, например, элемент верхнего надстрочного индекса (sup) скорее всего также разведет строки текста.


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

Если в соответствии со значением line-height базовая линия располагается на заданном расстоянии, можно запросто распрощаться с замещаемыми строковыми и сдвигаемыми по вертикали элементами, которые перекрывают другие строки текста, что также расстроило бы авторов. К счастью, CSS предлагает достаточные средства для создания желаемых эффектов тем или иным способом, и в CSS, таким образом, закладывается даже еще больший потенциал.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела CSS на эту тему:
Автоматическое определение высоты
Блок-контейнер
Блок-контейнер
Блочные элементы
Вертикальное выравнивание