我正在研究一個需要使用Internet Explorer的「IE5怪異模式」(使用X-UA-Compatible: IE=5
設置)的舊Web應用程序。IE 10的-ms-清除僞元素和IE5怪異模式
應用程序中的許多文本字段都有(應用程序生成的)'x'按鈕來清除內容。在IE10中,IE也會生成一個'x'按鈕來清除該字段,因此用戶可以看到其中的兩個。
如this question所述,您可以使用::-ms-clear
CSS僞元素刪除IE生成的'x'。不幸的是,這似乎在IE5 Quirks模式下不起作用:::-ms-clear
僞元素的樣式在開發人員工具中顯示爲:unknown
,並且IE生成的「x」繼續出現。
除了重寫應用程序使用現代瀏覽器模式,有什麼辦法擺脫IE生成的'x'?
下面是一個測試頁面時IE10下運行再現在IE5 Quirks模式的問題:
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=5">
<style type="text/css">
::-ms-clear { width: 0; height: 0; }
</style>
</head>
<body>Enter some text:<input></body>
</html>
必須使用應用程序生成的按鈕嗎?他們是否提供IE10生成的功能?因爲在這種情況下,我認爲不可能刪除由IE10生成的。 – BoltClock
應用程序生成的'x'按鈕確實提供了一些其他功能,但它看起來像我們最好的解決方法是有條件地刪除它們的IE10,並找到另一種方式來觸發相同的功能... – Aron
當然,不能有任何「需要」怪癖模式?過去讓人們陷入怪癖模式的一件事是盒子模型與標準有很大不同,它使得轉換工作變得非常繁重,但是現在你可以使用'* {box-sizing:border-box;} ',標準模式將切換到使用舊的怪異模式盒模型而不抱怨。在怪癖模式中還有什麼可以阻止你擺脫它 - 也許我們可以幫助你,而不是試圖幫助你繼續生活在20世紀90年代。 – Spudley