POPMUISE
2019-08-26 09:44:55
使用CSS功能/特征檢測檢測IE11IE10 +不再支持瀏覽器檢測標簽來識別瀏覽器。為了檢測IE10,我使用JavaScript和功能測試技術(shù)來檢測某些帶ms前綴的樣式,例如msTouchAction和msWrapFlow。我想對IE11做同樣的事情,但我假設所有的IE10樣式也將在IE11中得到支持。任何人都可以幫我識別IE11中唯一可以用來分辨兩者的風格或功能嗎?額外信息我不想使用用戶代理類型檢測,因為它太亂了,可以更改,我想我已經(jīng)讀過IE11故意試圖隱藏它是Internet Explorer的事實。有關(guān)IE10功能測試如何工作的示例,我使用此JsFiddle(不是我的)作為我測試的基礎。此外,我期待很多答案“這是一個壞主意......”。我對此的需求之一是IE10聲稱它支持某些功能,但實現(xiàn)得非常糟糕,我希望能夠區(qū)分IE10和IE11 +,以便將來繼續(xù)使用基于功能的檢測方法。這個測試與Modernizr測試結(jié)合在一起,只會使一些功能“回退”到不那么迷人的行為。我們不是在談論關(guān)鍵功能。我也在使用Modernizr,但在這里沒有用。我需要幫助解決我明確提出的問題。
3 回答

慕尼黑8549860
TA貢獻1818條經(jīng)驗 獲得超11個贊
這是2017年的答案,您可能只關(guān)心區(qū)分<= IE11和> IE11(“Edge”):
@supports not (old: ie) { /* code for not old IE here */ }
更多示范性示例:
body:before { content: 'old ie'; }
/**/@supports not (old: ie) {
body:before { content: 'not old ie'; }
/**/}
這是有效的,因為IE11實際上甚至不支持@supports
,所有其他相關(guān)的瀏覽器/版本組合都可以。

瀟湘沐
TA貢獻1816條經(jīng)驗 獲得超6個贊
我在IE11中遇到了與重力形式(WordPress)相同的問題。表單的列樣式“display:inline-grid”打破了布局; 應用上面的答案解決了差異!
@media all and (-ms-high-contrast:none){ *::-ms-backdrop, .gfmc-column { display: inline-block;} /* IE11 */}

德瑪西亞99
TA貢獻1770條經(jīng)驗 獲得超3個贊
您可以正常編寫IE11代碼,然后使用@supports
并檢查IE11中不支持的屬性grid-area: auto
。
然后,您可以在其中編寫現(xiàn)代瀏覽器樣式。IE不支持該@supports
規(guī)則并將使用原始樣式,而這些將在支持的現(xiàn)代瀏覽器中被覆蓋@supports
。
.my-class {// IE the background will be redbackground: red; // Modern browsers the background will be blue @supports (grid-area: auto) { background: blue; }}
添加回答
舉報
0/150
提交
取消