2012-02-15 51 views
1

我創建了一個菜單,但它不能在ie6 & ie7中因爲display:table。我怎麼能做到這一點在IE6和IE7的工作風格display:table顯示:表格不能在ie6和ie7中工作

有我的例子

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

,但它不能在IE6和IE7

工作
+0

我碰到這篇文章就來了:http://tanalin.com/en/projects/display-table-htc/ – adis 2012-02-15 08:50:58

+0

我嘗試,但它不工作:) – 2012-02-15 09:13:46

+1

什麼完全不適合你?你仔細閱讀過它的網頁嗎? – 2012-02-16 18:19:54

回答

8

IE6和IE7不支持顯示:表格;

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

您可以如果表格數據使用一個真正的表,否則,你可以用列表(UL)和inline-block的與*顯示:內聯黑客和變焦:1 IE7及以下。

+0

但需要使用'display:table' – 2012-02-15 08:51:34

+4

@AramMkrtchyan:IE 6和IE 7不支持'display:table'。這真的很簡單。 – 2012-02-15 08:53:14

+0

我知道它...我可以嘗試替代CSS爲ie6和IE7,但我工作所以需要與顯示:表 – 2012-02-15 09:03:04

-5

我認爲IE6不支持CSS您使用的版本。 使用與IE6兼容的CSS。

+0

我知道它:D我可以嘗試替代CSS ie6 ie7 ie8 ie9我可以做到這一點,但需要使用display:表 – 2012-02-15 09:05:23

+1

ie6與任何css版本都不兼容。 – 2013-12-16 20:26:08

0

的唯一方法就是使用表格來使用IE6 IE7 &條件註釋:

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

所以,在你的菜單元素適當加表,TR和TD標籤,只爲IE瀏覽器。

另一種解決方案是使用:display:inline-block;

1

我看到您正在使用display:table來實現菜單項的並排佈局。

我認爲你可以在菜單項使用display:inline-block在IE 6和7產生類似的結果:

你原來這個版本之間的區別是:

  1. 刪除display:table from .menu
  2. 添加overflow: hidden.menu以便其圓角裁剪其菜單項也
  3. .menu ul
  4. 刪除display:table-row添加display:inline.menu li
  5. 移動從.menu li填充到.menu ul li a
  6. 添加display:inline-block.menu ul li a

我已經在IE 6中快速瀏覽過了,我認爲它正在工作:

+0

「需要使用display:table」 - 我不明白你的意思。我無法想象一種讓'display:table'在JavaScript中使用IE 7和6的方法 - 考慮到表格佈局的工作方式,我想它會非常複雜且不可靠。我建議你保留你的'display:table code',但是使用[條件註釋](http://www.quirksmode.org/css/condcom.html)爲IE 7和6提供額外的樣式表,顯示:代碼與在IE中工作的替代CSS代碼。 – 2012-02-15 09:46:37