2012-02-15 2 views
1

Я создаю меню, но оно не работает в ie6 & ie7 из-за display:table. как я могу это сделать, чтобы работать в IE6 и IE7 со стилем display:tableдисплей: таблица dosen't работает в ie6 & ie7

есть мой пример

http://jsfiddle.net/amkrtchyan/fCsax/

, но он не работает в IE6 и IE7

+0

Я наткнулся на эту статью: http://tanalin.com/en/projects/display-table-htc/ – adis

+0

я попробовать его, но он не работает :) –

+1

Что точно не работает для вас? Вы внимательно читали его веб-страницу? –

ответ

8

IE6 и IE7 не поддержка дисплея: таблица;

http://www.quirksmode.org/css/display.html

Вы можете использовать реальную таблицу, если ее табличные данные, в противном случае вы можете использовать списки (UL) и встроенный блок с * Дисплей: инлайн хака и масштабирования: 1 для IE7 и ниже.

+0

, но нужно работать с 'display: table' –

+4

@AramMkrtchyan: IE 6 и IE 7 не поддерживают' display: table'. Это действительно настолько просто. –

+0

Я знаю это ... я могу попробовать альтернативный css для ie6 и ie7, но там, где я работаю, так нужно работать с дисплеем: table –

1

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

проверки этого IE7 and the CSS table-cell property

-5

Я думаю, что IE6 не поддерживает CSS версию, которую вы использовали. Используйте совместимый CSS с IE6.

+0

я знаю его: D я могу попробовать альтернативный css для ie6 ie7 ie8 ie9 я могу это сделать, но нужно работать с дисплеем: таблица –

+1

ie6 несовместима ни с одной версией css. –

0

Единственный способ заключается в использовании таблицы для IE6 & IE7, используя условные комментарии:

<!--[if lte IE 7]> special markup for IE6 and IE7 <![endif]--> 

Итак, добавить таблицу, Tr, и т.д теги правильно, только для IE в ваших элементов меню.

Другим решением является использование: display: inline-block;

1

Я вижу, что вы используете display:table для достижения бокового расположения элементов меню.

Я думаю, что вы можете произвести аналогичный результат в IE 6 и 7, используя display:inline-block по пунктам меню:

Различие между оригиналом и этой версией:

  1. Удалить display:table от .menu
  2. Добавить overflow: hidden в .menu так, что его закругленные углы обрезать свои пункты меню слишком
  3. Удалить display:table-row из .menu ul
  4. Добавить display:inline в .menu li
  5. Перемещение отступы от .menu li к .menu ul li a
  6. Добавить display:inline-block в .menu ul li a

У меня был быстрый взгляд в IE 6, и я думаю, что он работает:

+0

«нужно работать с дисплеем: таблица» - я не понимаю, что вы подразумеваете под этим. Я не могу представить способ заставить 'display: table' работать в IE 7 и 6 с помощью JavaScript - учитывая, как работает макет таблицы, я думаю, что это было бы действительно, действительно сложным и ненадежным. Я предлагаю вам сохранить ваш «display: table code», но использовать [условные комментарии] (http://www.quirksmode.org/css/condcom.html), чтобы предоставить дополнительные таблицы стилей для IE 7 и 6, которые переопределяют ваш ' display: table' code с альтернативным CSS, который работает в IE. –

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