2013-06-19 14 views
6

Pracuję nad starszą aplikacją internetową, która wymaga użycia trybu "IE5 Quirks Mode" przeglądarki Internet Explorer (ustawionego przy użyciu X-UA-Compatible: IE=5).IE 10 -ms-clear pseudoelement i tryb dziwactw IE5

Wiele pól tekstowych w aplikacji ma (wygenerowane przez aplikację) przyciski "x" do czyszczenia zawartości. W IE10, IE generuje również przycisk "x", aby wyczyścić pole, więc użytkownik widzi dwa z nich.

Jak wspomniano w artykule this question, można usunąć wygenerowane przez IE "x" za pomocą pseudoelementu CSS ::-ms-clear. Niestety, wygląda na to, że nie działa to w trybie IE5 Quirks: stylizacja pseudoelementu ::-ms-clear pojawia się w narzędziach programistycznych jako :unknown, a wygenerowane przez IE "x" nadal się wyświetla.

Oprócz przepisywania aplikacji do korzystania z nowoczesnego trybu przeglądarki, czy istnieje sposób na pozbycie się wygenerowanego przez IE "x"?

Poniżej znajduje się strona testowa, która reprodukuje problem w IE5 Quirks Mode podczas uruchamiania pod IE10:

<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> 
+0

Czy zamiast tego należy użyć przycisków generowanych przez aplikację? Czy zapewniają one pewną funkcjonalność, której nie zapewniają generowane przez IE10? Ponieważ nie sądzę, że można usunąć te generowane przez IE10 w tej sytuacji. – BoltClock

+0

Przyciski "x" generowane przez aplikacje zapewniają inną funkcjonalność, ale wygląda na to, że najlepszym sposobem obejścia tego problemu jest ich warunkowe usunięcie w IE10 i znalezienie innego sposobu wywołania tej samej funkcji ... – Aron

+1

Z pewnością nie może być czegoś takiego "wymaga" trybu dziwactwa "? Jedyną rzeczą, która kiedyś powstrzymywała ludzi w trybie dziwactw, był model pudełkowy, który był tak różny od standardów, że zbyt dużo pracy wymagało przekonwertowania, ale w dzisiejszych czasach możesz po prostu użyć '* {box-sizing: border-box;} ', a tryb standardów przełącza się, aby używać starego modelu z trybem dziwactwa bez narzekania. co jeszcze jest w trybie dziwactwa, który powstrzymuje cię przed odejściem od tego - być może możemy pomóc, zamiast próbować pomóc ci dalej żyć w latach 90-tych. – Spudley

Odpowiedz

3

Spróbuj

input::-ms-clear { display: none; } 

Or

input::-ms-clear { visibility: hidden; } 

hackier technikę może być do korzystania z właściwości prawostronnego i przelewowego

input { margin-right: -20px; overflow: hidden } 
+3

':: - ms-clear' nie jest nawet rozpoznawany na początku, więc to nic nie robi – BoltClock

+0

Rzeczywiście, :: - ms-clear isn 't rozpoznane w ogóle, i niestety opcja' hacky 'też nie działa, – Aron

+1

oczywiście nie jest rozpoznawana.To jest cały punkt trybu dziwactwa - tryb Quirks ma wersję CSS IE5, która usuwa wszystkie funkcje CSS nowsze niż te z przeglądarki – Spudley

Powiązane problemy