2012-10-24 49 views
3

如何在IE7中使用{min-width:100%}?在IE8 +和其他瀏覽器中工作正常。如何在IE7中使百分比工作的最小寬度?

我使用下拉菜單,其中下拉寬度應取決於下拉菜單中的最長文本,但不小於父鏈接寬度。所以我添加了最小寬度:100%下拉。但它適用於其他瀏覽器,但不適用於IE7。

我如何使它工作?

演示是在這裏與它分道揚play。在IE7中檢查這個http://codepen.io/jitendravyas/pen/AheDs

+0

不能確定沒有看到代碼。你是否明確設置了父母/父母的父母/等的大小? – vdbuilder

+0

@vdbuilder不,沒有固定的寬度父母,因爲父母的文本也可以靈活 –

+0

這是一段時間,因爲我需要考慮繞過它,但IE7-是一個關於設置元素的寬度樹來獲得最小/最大/寬度以正常工作。最簡單的事情就是搞定js並自己動手:( – vdbuilder

回答

2

IE7不起作用像這樣的其他瀏覽器。它在父元素上需要明確的width。您當前代碼給它一個width這裏:

.site-nav .flyout-content{ 
    border:1px solid #e4e4e3; 
    /* width:100%;*/ 
    height:100%; 
    min-width:100%; 
    *width:170px; <-------------- THIS IS PICKED UP BY IE7 
    box-shadow: 8px 6px 10px rgba(65, 65, 65, 0.45); 
} 

如果你知道你最寬的元素的width,你莫不是改變這個數字更廣泛的量,這「工程」爲this fiddle demonstrates(注:CodePen示例在IE7模式下不適合我,所以我將代碼移至jsfiddle.net)。但是,對於IE7來說,實施一些類似於the solution in this question的JavaScript解決方法可能會更好(它基本上與您的要求相同)。

3

嘗試Modernizr,它使很多事情可能在老的/不兼容的瀏覽器中沒有很多麻煩。嘗試開發版本以查看它是否可以幫助您,並根據您的特定需求編寫自己的生產版本,以最大限度地減少JavaScript庫的大小(和速度)。

Modernizr是一個JavaScript庫,用於檢測用戶瀏覽器中的HTML5和CSS3功能 。

+0

我丟棄了你的codepen中的modernizr代碼,它的工作原理如下:http://codepen.io/jitendravyas/full/AheDs – Dieter

+0

我使用https://spoon.net/browsers獲得了一個快速且免費的vir tual IE7(也有ie6,多個其他瀏覽器和更多 - https://spoon.net/apps) – Dieter

1

ie9.js要求增加對最小寬度的支持,你可以把它添加到你的源來進行測試:

<!--[if lt IE 9]> 
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script> 
<![endif]--> 

您可以閱讀http://code.google.com/p/ie7-js/更多關於ie7.js項目(包括ie9.js)。

請記住,其他一些JavaScript庫,如css3派,不會與ie9.js一起使用。

5

請檢查This我認爲它正是你在找什麼。