2013-06-19 13 views
6

Sto lavorando a un'app Web legacy che richiede l'uso della "Modalità strane IE5" di Internet Explorer (impostata utilizzando X-UA-Compatible: IE=5).IE 10's pseudo-elemento -ms-clear e modalità quirk IE5

Un numero di campi di testo nell'app dispone di pulsanti "x" (generati dall'app) per cancellare il contenuto. In IE10, IE genera anche un pulsante "x" per cancellare il campo, quindi l'utente ne vede due.

Come discusso in this question, è possibile rimuovere la 'x' generata da IE utilizzando lo pseudoelemento CSS ::-ms-clear. Sfortunatamente, questo sembra non funzionare in IE5 Quirks Mode: lo stile dello pseudo-elemento ::-ms-clear viene mostrato negli strumenti di sviluppo come :unknown e la "x" generata da IE continua ad apparire.

Oltre a riscrivere l'app per utilizzare una modalità browser moderna, esiste un modo per sbarazzarsi della "x" generata da IE?

seguito è una pagina di test che riproduce il problema in quirks mode IE5 quando eseguito in 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

È necessario utilizzare i pulsanti generati dall'app? Forniscono alcune funzionalità che non sono quelle generate da IE10? Perché non penso sia possibile rimuovere quelli generati da IE10 in questa situazione. – BoltClock

+0

I pulsanti "x" generati dall'app forniscono alcune altre funzionalità, ma sembra che il nostro miglior rimedio sia rimuoverli in modo condizionale per IE10 e trovare un altro modo per attivare la stessa funzionalità ... – Aron

+1

Sicuramente non ci può essere nulla che "richiede più la modalità" Quirks "??? L'unica cosa che tratteneva le persone in modalità quirks era che il modello di box era così diverso dagli standard da rendere troppo lavoro la conversione, ma in questi giorni puoi semplicemente usare '* {box-sizing: border-box;} ', e la modalità degli standard cambierà per usare il modello della casella delle modalità con i quirk vecchi senza lamentarsi. cos'altro c'è nella modalità "Quirks" che ti impedisce di allontanarti da esso - forse possiamo aiutarti con questo piuttosto che cercare di aiutarti a continuare a vivere negli anni '90. – Spudley

risposta

3

Prova

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

O

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

Un hack hackier potrebbe essere utilizzare le proprietà margin-right e overflow

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

':: - ms-clear' non viene nemmeno riconosciuto per cominciare, quindi questo non fa nulla – BoltClock

+0

Infatti, :: - ms-clear isn non viene riconosciuto affatto, e sfortunatamente l'opzione "hacky" non risolve il problema: – Aron

+1

ovviamente non viene riconosciuto.Questo è il punto principale della modalità quirks - Quirks mode ha la versione di CSS di IE5, rimuove tutte le funzionalità CSS più recenti rispetto a quelle del browser – Spudley