Moin!
Die Schreibweise:
<style type="text/css">
@import "main_widern.css" screen;
@import "handheld_widern.css" handheld;
</style>
musste ich verwerfen, weil sich der IE dran verschluckt (er zeigt dann die Seite ganz ohne CSS.
Tja, der liebe IE...
Ich habe (für Screen-CSS) folgende Lösung gefunden, die prima funktioniert:
<style type="text/css">
@import "screen.css" screen;
@media screen {
@import "screen.css"
}
</style>
Die Sache ist die: Der IE (Win) kennt die erste Importangabe nicht und will die Datei --->"screen.css" screen<--- laden. Geht natürlich mit einem 404 vom Server aus. Das Stylesheet würde, angesichts der Namensinterpretation, aber wohl nicht nur für Screen benutzt werden, also ist 404 schon ganz gut. Der IE (Mac) versteht diese Angabe aber und wendet das Stylesheet dann nur für Screen an.
Die zweite Methode versteht der IE (Win). Dank Media-Angabe wird das @import nur für Screen genutzt, und ein 404 tritt nicht auf. Der IE (Mac) versteht @media nicht, alles enthaltene wird ignoriert.
Vernünftige Browser verstehen alle Angaben - doppelt laden stört aber nicht.
Frage: bug im Validator?
Wahrscheinlich.
- Sven Rautenberg