2010-07-05 1 views
0

CSS display: inline-block и width: 100% не работают на IE6 и IE7.
У кого-нибудь есть какое-то решение? Благодаря!Дисплей CSS: встроенный блок и ширина: 100% не работает на IE6 и IE7

<style> 
nav {text-align: justify;} 
nav li {display: inline-block; white-space: nowrap;} 
nav span {display: inline-block; width: 100%;} 
</style> 
... 
<nav> 
    <ul> 
    <li>Home Page</li> 
    <li>Services</li> 
    <li>Clients</li> 
    <li>Portfolio</li> 
    <li>Contact Us</li> 
    <span></span> 
    </ul> 
</nav> 

Update:
Так он отлично работает и на IE6, но когда список имеет больше слов, он выглядит не хорошо->«Контакт                               Us ":

nav { text-align: justify; } 
nav * { display: inline; } 
nav span { 
    display: inline-block; 
    position: relative; 
    width: 100%; 
    height: 0; 
} 
<nav> 
    <ul> 
    <li>Home Page</li> 
    <li>Services</li> 
    <li>Clients</li> 
    <li>Portfolio</li> 
    <li>Contact Us</li> 
    </ul> 
    <span></span> 
</nav> 
+1

Для чего вам нужен 'inline-block' здесь? –

+0

Это приводит к тому, что элементы списка прокручиваются горизонтально, а не вертикально. – Chris

ответ

0

Я не воссоздал код, но могу вам сказать, что вам не разрешен элемент span, вложенный внутри ul. Попробуйте изменить диапазон на li и id и посмотреть, получите ли вы лучшие результаты.

Что вы пытаетесь достичь этим?

3

Для IE6 и IE7 вы можете попробовать использовать (в таблице стилей включены условные комментарии)

display: inline; 
zoom: 1; 

zoom: 1 триггер hasLayout, который похож на поведение inline-block.

Я согласен с вышеуказанными комментаторами в том, что у вас не должно быть span как прямой ребенок ul.

+0

Это не работает. – Binyamin

1

Несколько предложений:

  • Исправьте HTML - UL должен содержать только LI, не SPAN
  • Там нет такого понятия, как элемент СЧА
  • Try с плавающей помощью поплавка литиево в: слева - вы также должны установить ширину на них
  • Если вы хотите, чтобы элемент заполнил ширину страницы, используйте display: block; Это будет работать во всех браузерах - если ваш HTML-код правильный!

Посмотрите на html validator, это должно помочь вам с вашими ошибками HTML. Там также есть отличный плагин для проверки подлинности для Firefox, который тоже выполняет эту работу.

+0

'nav' является допустимым элементом HTML5. –

+0

'nav' is html5 tag – Binyamin

+0

IE 6 и 7 (и действительно 8) не будут применять ваши стили для тега' , если вы сначала не создадите тег с этим именем в JavaScript. IE не хорош с тегами, которые он не распознает (см., Например, ''). –

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