Per i browser < IE7, voglio utilizzare un determinato attributo di stile, mentre per altri browser mi piacerebbe usarne un altro. Posso farlo usando un singolo file css, o devo fare se poi la logica di includere un file css hack cioè ie?CSS con logica del browser if/then
risposta
Ecco un esempio di come è possibile includere un IE6-specifica CSS per ignorare le classi CSS specifiche per IE 6 o inferiore:
<link rel="stylesheet" type="text/css" href="/css/screen.css" title="MySiteStyle" media="screen" />
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="/css/screen-ie6.css" title="MySiteStyle" media="screen" />
<![endif]-->
In alternativa, è possibile farlo su base per-elemento in questo modo:
<!--[if (!IE) | (gt IE 6)]>
<div class="header">
<![endif]-->
<!--[if lte IE 6]>
<div class="ie6_header">
<![endif]-->
MSDN ha ulteriori dettagli sul supporto IE Conditional Comments.
Bene, è possibile utilizzare javascript per rilevare il browser e applicare una classe basata su tale. Ad esempio, si veda:
È possibile utilizzare espressioni CSS in una certa misura.
Vedere http://gadgetopia.com/post/2774 per alcuni esempi. Questi non aggirano gli attributi CSS condizionali di per sé, ma consentono di variare dinamicamente i valori degli attributi CSS.
Potreste usare conditional comments:
<!--[if lt IE 7]>
<style>
/*your style for IE <=6*/
</style>
<![endif]-->
<![if !IE | (gte IE 7)]>
<style>
/*your style for other browsers*/
</style>
<![endif]>
ho trovato ad essere la soluzione più pulita per questo genere di cose.
sulla punta jQuery controllare questo plugin: http://jquery.thewikies.com/browser/
un plugin per fare ciò che ghills suggerisce, questo è un modo pulito bello andare.
- 1. CSS Sprites rendering del browser
- 2. css ": attiva" con il tasto destro del mouse, incongruenze con l'attuazione del browser
- 3. rilevamento affidabile del browser utente con php
- 4. Logica lato client O logica lato server?
- 5. Logica mancante nell'algoritmo del filtro
- 6. Regole CSS che rallentano la velocità del browser (rendering)
- 7. CSS larghezza al 100% sul ridimensionamento del browser
- 8. Supporto del browser per il carattere jolly askerisk (*) nei CSS?
- 9. Padding CSS specifico del browser per il campo firefox
- 10. htaccess sfruttare il caching del browser per immagini e css
- 11. CSS diversi per ogni browser?
- 12. immagine del display retina con puro css
- 13. Regole sovrapposte nei CSS: qual è la vera logica dietro?
- 14. Come rilevare se il supporto del browser ha specificato css-classe css?
- 15. css svg e browser-effect = "non-scaling-stroke" compatibilità del browser
- 16. Vedere css di stampa nel browser
- 17. Come abilitare il caching del browser per il contenuto statico (immagini, css, js) con Tomcat?
- 18. Modifica del livello di zoom del browser
- 19. È cross-browser 'iniziale' posizione - css
- 20. comprensione logica del programma lotto da skiena
- 21. È necessario un "Reset CSS" per i CSS cross-browser?
- 22. Onhashchange con i tasti del browser solo
- 23. Rilevamento affidabile del browser con javascript?
- 24. Eventuali problemi del browser incrociato con document.documentElement
- 25. Emulatore del browser iPhone con rilevamento dell'orientamento
- 26. ASP.NET - Invalidate cache del browser
- 27. Supporto browser per numeri di pagina CSS
- 28. Quali browser supportano ancora CSS espressioni
- 29. Come creare un triangolo CSS cross-browser?
- 30. Cross browser Curva di testo CSS 3
Non all'interno del "singolo file css" che l'OP stava chiedendo. – ChssPly76
@ ChssPly76: era un'opzione, non un requisito. Ma hai ragione, questa opzione richiede * due * file (di solito sovrascrivo solo ** alcune ** cose sul foglio di stile specifico di IE). Ad ogni modo, penso ancora che questo sia un approccio più pulito. – voyager
Nota che questo creerà lo stile specifico IE per tutte le versioni di IE, non solo