IE9 и: after /: hover свойство Css вызывает рост страницы - PullRequest
3 голосов
/ 07 января 2012

Согласно Microsoft, IE8 и IE9 поддерживают: после выбора. Я использую этот селектор, чтобы заставить элементы иметь правильную высоту, если все элементы внутри плавают. Это позволяет фонам отображаться правильно, без указания заданной высоты.

Мой дополнительный код обычно выглядит так:

.after:after{
    content: '.';
    height:0;
    line-height: 0;
    display:block;
    clear:both;
    visibility:hidden;
}

Так что теперь к ошибке. Когда я добавил несколько: after на мою страницу в https://spartanstats.com/reach-stats-gamertag, и я намекал на каждый из элементов li в середине страницы, IE9 каждый раз увеличивал страницу на одну строку.

EDIT:

После дальнейшего изучения свойство: hover для каждого из динамически генерируемых элементов li, по-видимому, является основной причиной проблемы. Удаление кода наведения для li устраняет проблему. Конечно, это не то исправление, на которое я надеялся. Я буду продолжать расследование.

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

Ответы [ 2 ]

1 голос
/ 04 апреля 2012

Наткнулся на эту проблему сам.Это может быть связано с этой проблемой

Применить min-height: 0% к содержащему элементу.

0 голосов
/ 11 февраля 2012

Вы пытались использовать

content: '';

вместо

content: '.';

Наличие символа в элементе after и настройка его на использование

display: block;
visibility: hidden;

будет по-прежнемузаставляет элемент занимать место на странице в отличие от того, что вы используете:

display: none;

Я предполагаю, что даже если вы устанавливаете высоту элемента: after в 0, то.в элементе вызывает Internet Explorer для отображения нежелательной высоты.

...