2009-03-11 1 views
17

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

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

Вы знаете, как остановить IE7 от отсечения моего текста?

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

+2

+1 Я не могу дать представление об этой проблеме, но я даю вам реквизиты для того, чтобы вложить какое-то настоящее усилие в вопрос. Способ установки примера! –

+0

Отличный вопрос, оцените усилия, объясняющие, в чем проблема: –

+0

Я скопировал ваш источник, и я играл с ним, но не смог найти чистого решения. У меня такое чувство, что что-то пахнет на общем уровне. что, если IE действительно делает правильные вещи? Я никогда не видел, чтобы кто-то делал такое переполнение шрифта раньше. – markus

ответ

0

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

1

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

0

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

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

Да, но меньше удачи в IE7. Интересно, что когда я просматриваю divs и spans с помощью панели инструментов разработчика Internet Explorer, квадраты, которые он рисует вокруг, имеют нужный размер! Кажется, он просто обрезает его при рендеринге. – Emiel

+0

Почему колпачки на свойства? – alex

+0

Почему шапки? Хороший вопрос - возможно, созданный IE, когда я использовал «Сохранить как» веб-страницу, я добавил только «высоту». Не удалось сохранить его после настройки, поэтому не мог сказать с уверенностью. – Traingamer

0

Несмотря на неспособность, чтобы проверить его на моей нынешней машине: Я подозреваю, что это hasLayout bug. Способы борьбы с ним перечислены в разделе «properties» этой ссылки.

19

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

line-height: normal; 

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

0

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

0

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

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

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

11

Есть хак, который я выяснил, что устраняет проблему отсечения текста в 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

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

+0

О, любовь к Богу, спасибо за этот ответ ..... это сводило меня с ума! – potench

+0

Это исправило мою проблему! Установка высоты линии на что-либо либо не работала, либо показывала дополнительную строку текста, но только имела ее. Добавление нижней прокладки фиксированной шахты. Моя проблема заключалась в генерации текста js внутри 'textarea'. – jlafay

1

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

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^