Баг с курсивным текстом в IE6

Проблема заключается в том, что при использовании курсивного начертания, IE6 увеличивает ширину блока с текстом, что может «поломать» структуру вёрстки.

Проблема известна достаточно давно, но возможно не все о ней знают. Баг подробно описан в этой статье.

Проблема проявляет себя достаточно хаотично. Слудующие условия в той или иной степени влияют на её появление:

  • на возникновение проблемы влияют: длина строки текста, содержание и шрифт (семейство, размер и т.д.);
  • несколько слов написанных курсивом (возможно, в середине текста);
  • наличие слова, написанного курсивом в начале или конце строки;
  • проблема проявляет себя тем чаще, чем больше курсивного текста;
  • проблема возникает ещё чаще, если курсивный текст выровнен по ширине (text-align:justify);
  • проблема проявляеться независимо от того каким образом получен курсивный текст (используеться ли элемент em или span с text-style:italic);

Решается, путём добавления блоку с текстом, hasLayout и overflow:visible:

1
2
3
4
.element{
  height:1%;
  overflow:visible
}

Обсуждение:

  1. Сергей

    Так overflow:visible вроде по умолчанию идет? Я всегда делал width:99% и + hasLayout

    • Alex

      Без overflow:visible не работает. Честно говоря причина мне не понятна, авторы зарубежной статьи я так понял также окончательного ответа не дают и предлагают это как наиболее оптимальное решение на данный момент.

      • Сергей

        А можно ссылку на оригинал?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*