IE ФАКтор
20th February 2004 - 01:12
IE factor, в копилку.
HTML:
<body>
<div id="container">
<div>
<p>Text</p>
<p>Text</p>
<p>Text</p>
</div>
</div>
</body>
CSS:
#container {
position: relative;
width: 75%;
}
p {
padding-bottom: 60px;
background: url("bottom.gif") center bottom no-repeat;
}
Баг. Проявляется в случае повторного просмотра страницы, упавшей в кэш (лучше скачать архив и посмотреть локально). Исчезают background-image, расположенные в видимой части окна браузера. Если свернуть-развернуть IE, изменить размеры или пройтись сверху другим окном, то они прорисовываются (лично у меня — два; из трёх возможных).
Не критично, легко лечится. Но когда количество строк в CSS превышает пару-тройку сотен…
Categories: CSS | comments: (5)
Комментарии
1. РезиновыйЗапаЛ 20th February 2004 - 02:50
Проблема мелкая. Баг — не баг, только надо указывать ширину блочного элемента с бэкграундом (можно в процентах), тогда все работает. Я тебе архив с примером назад кинул. Смотри.
Mash:
И если до этого мы любовно обходили глюки боксовой модели без использования хаков, то могут потребоваться ещё некоторые усилия. :)
Такие мелкие проблемы достают в предрассветныйчас.
2. РезиновыйЗапаЛ 20th February 2004 - 16:17
Слушай, Данил. То ли я тупой, то ли ты витьевато выражаешься.
Так это проблема или не проблема? Или я чего-то не то предложил?
С моей точки зрения, тут проблем нет и багов тоже, просто Осел в последнее время все начал понимать дословно в CSS и требует полных параметров.
Mash:
>> …просто Осел в последнее время…
Подобный эффект можно наблюдать и в IE5.0.
Вообще это достаточно нежный баг с очень большой вероятностью исчезновения в ходе дальнейшей вёрстки (если взять за основу приведённый выше код).
Представим такую ситуацию:
Сидим, кодим, CSS растёт и пухнет, всё замечательно выглядит, основные части готовы. Ни одного хака (как явных, не проходящих через валидатор, так и «скрытых»), алмаз. Теперь можно подумать и про «рюшечки». Э-э-э… О! Добавлю-ка я рисунок для чёткого визуального разделения некоторых блоков сайта [рисуем, добавляем] What are…!? Первая мысль — задать ширину 100%. Однако, вёрстка может быть такой, что это приведёт к расползанию блоков. Ищем обходные пути, занимаемся подгонкой под IE, ковыряем пухлый CSS. Потеря времени. В добавок, новичков подобные казусы могут ввести в ступор.
Проблема это или нет, но мелкое неудобство точно. Бывает и хуже. И не только в IE. Прими это просто как демонстрацию забавного бага. Ты совершенно правильно предложил одно из возможных решений.
3. РезиновыйЗапаЛ 20th February 2004 - 17:52
«Первая мысль — задать ширину 100%. Однако, вёрстка может быть такой, что это приведёт к расползанию блоков.»
Не понял!?
Почему блоки должны расползаться? Если глядельник соблюдает законы консорциума — не должны блоки расползаться. Процент ширины ведь читается от вмещающего блока (в идеале).
Хотя сколько угодно примеров, когда глядельник берет ширину вообще непонятно от чего:(
Mash:
Ключевая фраза: «Если глядельник соблюдает законы консорциума». Я не зря давал ссылку на проблему боксовой модели в IE. Ещё можно почитать у Александра Шуркаева (1, 2).
4. РезиновыйЗапаЛ 20th February 2004 - 17:59
Забыл про это:
> «Подобный эффект можно наблюдать и в IE5.0.»
А вот тут я категорически не согласен, ибо все делаю в IE5.0. Он у меня странноватый, поскольку в свое время был с ошибками поставлен поверх 4-ки. Но в остальном эта версия (5.00.2614.3500) оказалась настолько интересной, что я его не хочу пока менять. У него неадекватное восприятие HTML-кода, CSS и скриптов — он проглатывает и показывает почти все извращения и эксперименты. Потом приходится это учитывать и приводить к 5.5 и 6-ке, но это уже копейки.
Mash:
Тестировал IE501SP2, IE55SP2, IE60. Везде было.
Или речь идёт уже о другом?
5. РезиновыйЗапаЛ 20th February 2004 - 18:35
Не о другом, всё про твои линеечки речь и говорим.
На моем странном IE (грязная установка) твой исходный код работал без проблем. На других машинах с IE501SP2, IE55SP2, IE60 (чистая установка) — проблема всплывает.
Mash:
:) Интересная у тебя бродилка.
Кстати, установка не совсем «чистая».