Подтвердить что ты не робот

IE7 обрезает мой текст. Как изменить его отношение?

Несколько дней назад я обновил свой сайт. Разработка этого скина была в основном выполнена с использованием сафари, и, как и ожидалось, все это отлично работает с использованием firefox и opera. Мне пришлось сделать несколько небольших настроек для IE7, но ничего особенного, кроме одной проблемы...

Индикаторы даты для сообщения отключены в IE. Эта проблема возникает только на вложенных тегах span внутри левого плавающего div. Я думаю, мне нужен плавающий div, чтобы разместить текст в левой и правой частях экрана.

Кто-нибудь из вас знает, как остановить IE7 от отсечения моего текста?

Изменить: у меня есть отброшенная проблема. Мои скрипты теперь проверяют IE7 и подают его несколько упрощенным HTML, который может обрабатывать его ограниченный движок. Он работает в IE8, поэтому на данный момент только специальный случай для IE7 должен будет...

4b9b3361

Ответ 1

В большинстве случаев, когда IE6 или 7 снимают нижнюю часть текста, просто добавьте:

line-height: normal;

к соответствующим правилам CSS. Должен исправить это красиво, но, как вы поймете, он также расширяет поле.

Ответ 2

Там хак, который я понял, устраняет проблему отсечения текста в IE. Я заметил, что последняя строка в моем заголовке была единственной, которая была отрезана.

Мой оригинальный CSS, который отрезал последнюю строку в IE7, но выглядел отлично в других браузерах:

h2 {
   font-size: 22px;
   line-height: 1em;
}

См. изображение проблемы здесь: https://skitch.com/pablohart/f4g3i/windows-7-x64

Исправление, которое я делал, включало просто добавление отступов вниз, а затем удаление этого отступа с отрицательным запасом. Вот так:

h2 {
   font-size: 22px;
   line-height: 1em;
   padding-bottom: 5px;
   margin-bottom: -5px;
}

Смотрите изображение исправления на этом изображении: https://skitch.com/pablohart/f4g4h/windows-7-x64

Проблема с line-height: normal; заключается в том, что для шрифта требуется по умолчанию строка-высота, обычно 1.3em.

Ответ 3

Попробуйте добавить переполнение: visible; к вашему классу .postdate. Возможно, это помогает.

Ответ 4

У меня была аналогичная проблема. Я изменил свой диапазон на div, и проблема была решена. Я думаю, что IE7 может иметь проблему обработки строки-высоты на пролете. Не подтвердили, что это проблема. Были и другие элементы CSS. (Работа над кодом другого пользователя.) Но переход от span к div (block) разрешил проблему.

Ответ 5

для класса .bigdate, попробуйте заменить margin с помощью дополнения; мне кажется, что это имеет какое-то отношение к обработке маржировки IE.

Ответ 6

Добавление определенной высоты в .title исправляет ее для меня (в IE6):

.title {
    PADDING: 0 10px 0 0; MARGIN-top: 0.3em; FLOAT: right; height: 1em;

Ответ 7

Несмотря на то, что не удалось проверить его на моей текущей машине: я подозреваю, что это ошибка hasLayout. Методы работы с ним перечислены в разделе properties" этой ссылки.

Ответ 8

По моему опыту, он неизменно является нижней частью текста, который обрезается, и это тоже в основном из-за перекрывающихся разделов. Если вы можете гарантировать, что divs не перекрываются, проблема будет решена. Это отличие добавления переполнения: видимый иногда помогает.

Ответ 9

Попробуйте добавить

div.postmeta { height: 100px; }
div.postdate { height: 75px; }

Произвольное значение высоты... но вы знаете точную высоту, которую хотите. Это должно содержать текстовые контейнеры от обрезки в IE7.

Ответ 10

Я думаю, что проблема заключается в дополнении. Я попытался удалить стиль "padding: 3px", и он работал правильно. Раньше он ничего не показывал. Ответ Павла Харта показал мне это.
Вероятно, также может быть устранено удаление/переопределение свойств маржи.