Domanda

Per IE7, è possibile aggiungere

filter: none;

al body css per disabilitare cleartype sui font tramite CSS. Non mi piace l'aspetto sfocato che dà, e non è davvero coerente tra i browser. IE; Firefox e IE6 lo mostrano in modo diverso.

IE8, tuttavia, sembra ignorare l'opzione css, anche quando si forza il browser in modalità di compatibilità IE7 usando:

<meta http-equiv="X-UA-Compatible" content="IE=7" />


TL; DR: Come posso disabilitare i caratteri di tipo chiaro in IE8 tramite CSS?

È stato utile?

Soluzione

Da quello che ricordo, Internet Explorer 7+ disabilita ClearType quando un filtro è impostato su un elemento

#target {
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=99)";
    filter:progid:DXImageTransform.Microsoft.Alpha(opacity=99);
}

Inoltre, considera che molti utenti potrebbero ritenere fastidioso disabilitare ClearType. Usa con parsimonia!

Altri suggerimenti

Non puoi. ClearType è un'impostazione utente sul browser. Qualsiasi CSS che lo disabiliterebbe per determinati elementi è molto probabilmente un bug, non una funzione (ho notato che viene disabilitato per alcuni elementi generati o animati dinamicamente) e non dovrebbe essere invocato.

Qualunque sia la tua preferenza al riguardo, probabilmente non è quella dell'utente che vede il tuo sito. Allora perché preoccuparsi? A chi non piace ClearType probabilmente è già disabilitato.

Nota: Il motivo per cui funziona con i filtri è che i filtri non sono renderizzati dal browser ma qualcos'altro (DirectX probabilmente, considerando il "DX" presente. Considererei comunque che un effetto collaterale e non una funzione).

Nota 2: Risolto a partire da IE 9, come previsto. Questa è davvero una battaglia che puoi solo perdere, come molti ti hanno già detto prima, tranne che non avresti ascoltato.

Juliano, body {filter: none} è una soluzione migliore e più pulita. L'uso dell'opacità causa problemi in alcune situazioni.

Per rispondere a tutti gli appassionati di ClearType, mi piace anche ClearType. Penso che sia un grande progresso per i monitor LCD. Il problema è che quando IE tenta di utilizzare ClearType su alcuni elementi specifici, sembra peggiore rispetto a se ClearType fosse disabilitato. Questi includono elementi che sono sbiaditi alla vista (usando javascript) e caratteri importati @ font-face. Se ti piace ClearType, allora odi cosa farà IE quando cerca di usare ClearType in queste situazioni ... il tuo testo appare grosso, grasso e brutto.

In questi casi, ClearType dovrebbe essere rimosso, se possibile, per ottenere i caratteri fluidi che voi ragazzi volete.

Non esiste una soluzione CSS per disabilitare cleartype. Il motivo per cui potresti farlo in IE7 era un biprodotto di come il browser rendeva il testo negli elementi che utilizzavano i filtri. Apparentemente IE8 lo gestisce meglio in modo da non poter più usare quell'hacking (almeno non senza effettivamente applicare un filtro).

L'uso di cleartype è una scelta dell'utente e non qualcosa che dovresti imporre ai visitatori. Personalmente mi piace molto il cleartype, e se visitassi un sito in cui era disabilitato, penserei che il sito sembrava davvero scadente.

Il fatto che il testo sia reso in modo diverso in browser e sistemi operativi diversi è qualcosa con cui devi convivere. Se vuoi che sia esattamente uguale per tutti, devi renderlo un'immagine.

Ci sono molte persone che non ascoltano qui che sento. @Daniel Sloof ha detto da sempre che stava chiedendo come, non se fosse una buona idea. IE è una cattiva idea a tutti gli effetti, ma il fatto è che molte persone usano ancora versioni precedenti di esso e di quelle persone rischierei di supporre che il 90% non sappia nemmeno sapere cosa sia Clear Type - sono sicuro che diavolo non l'ha fatto fino a quando non ho iniziato il debug dei siti. Certamente non sono consapevoli di quanto sia spazzatura il loro browser. Se vuoi progettare pagine funzionanti e lisce che sembrano così fluide in IE come fanno nel webkit devi abbracciare lo strano hack di volta in volta, certo che non è carino ma è vita. Molte persone saranno più influenzate da un sito carino che da un codice carino.

@capnhairdo è pazzo quando dice anche di @ font-face - qualcuno di voi ha effettivamente testato questi caratteri con Clear Type abilitato in IE7 e 8? Se avessi realizzato che molti sono resi in modo orribile - come quello che avresti normalmente con CT disabilitato - in un certo senso sconfigge l'oggetto selezionando un bel carattere in primo luogo e per molti artisti del calibro di Cufon e Sifr non sono soluzioni praticabili . Per alcuni di noi va bene che le cose sembrino mediocri. Per me no, il mio sito web vende la mia immagine.

Se consideri che anche Apple sta forzando l'emulazione IE7 per IE8 sul suo sito, dovresti sottolineare che la maggior parte delle persone non è influenzata da piccole deviazioni dalla 'pratica raccomandata', invece nota molto di più un sito che offre un'estetica schifosa ed è a malapena leggibile. Questo non sta facendo a nessuno alcun favore ed è un problema che può verificarsi con CT acceso! Mi sforzo di garantire la massima coerenza possibile e non posso dare a cose quali scelte un utente di IE dovrebbe e non dovrebbe avere in quella situazione. Microsoft ha riempito creando browser che hanno cercato di deviare dagli standard, per cui loro stessi hanno rilasciato hack e correzioni, quindi dobbiamo lavorare con esso. Se ciò significa trarre vantaggio da un bug per risolvere un problema, quindi fornire ciò non ha un grande impatto su prestazioni, larghezza di banda o usabilità, basta farlo! La vita è troppo breve per confondere citando la conformità standard, rispetto un codice accurato e una metodologia rigorosa per un ideale, ma dai, ragazzi, avete detto che la perfezione non esiste. Il buon design e la costruzione provengono da una prospettiva equilibrata. Qui finisce il rant :-P

Cleartype a volte sembra stupido nelle soluzioni basate su JavaScript / AJAX ma questo argomento può rispondere a questa domanda perché alcune animazioni basate su jQuery sembrano essere rotte in IE .. quindi la risposta è che quando JavaScript fa svanire l'effetto con l'opacità (opacità da 0 a Durata 100 in 1 secondo), quindi i caratteri cleartype vengono rimossi dall'elemento che si dissolvono e l'animazione sembra davvero scadente.

per qualche motivo elementi posizionati (qualsiasi cosa all'interno di {position: relative}) - non è animato con un'opacità inferiore a 1.

Puoi avere sia un filtro MS CSS su un elemento che abilitare ClearType sul font all'interno. Basta aggiungere un elemento figlio e impostare la sua posizione " css " a "relativo" e ClearType non viene disabilitato. Copia quanto segue e provalo.

<style>
#parent{
     background-color:white;
     filter:progid:DXImageTransform.Microsoft.Shadow(color=#000000,direction=180,strength=2);
     position:relative;
     border:solid 1px black;
     padding:10px;
     width:500px;
}
#child{
     position:relative; /*THIS SOLVED THE CLEARTYPE DISABLING PROBLEM IN BOTH IE7 & IE8*/ :)
}
</style>

<div id="parent">
     <div id="child">This text should always be smooth</div>
</div>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top