der jigsaw Validator dreht durch
Fritz
- css
0 Sven Rautenberg0 Björn Höhrmann0 Fritz
0 Fritz0 Ingo Turski0 Fritz0 Ingo Turski0 Fritz
0 Björn Höhrmann
Hallo,
meine Site verwendet zwei externe CSS.
beide CSS sind valide (na ja, _ein_ Fehler, hervorgerufen durch
width:expression(document.body.clientWidth > 820? "780px": "95%" );
aber damit kann ich leben, um dem IE max-width beizubringen.
Wenn ich jetzt aber die index.html durch den jigsaw Validator schicke, dann dreht der fast durch:
http://jigsaw.w3.org/css-validator/validator?uri=http%3A//www.widernhof.de/index.html&warning=1
die zweite CSS Datei kann der wohl nicht mehr vernünftig lesen.
(der link wird nicht richtig dargestellt, tut mir leid.)
Eingebunden hab ich die beiden CSS im <head> folgerdermaßen:
<style type="text/css" media="screen">
@import "main_widern.css";
</style>
<style type="text/css" media="handheld">
@import "handheld_widern.css";
</style>
@import, damit Browser der 4. Generation vom CSS ausgeschlossen werden.
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.
Frage: bug im Validator?
Oder: was hab ich falsch gemacht?
Gruß Fritz
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
<style type="text/css">
@import "screen.css" screen;
@media screen {
@import "screen.css"
}
</style>
Vernünftige Browser verstehen alle Angaben - doppelt laden stört aber nicht.
Damit da keine Missverständnisse aufkommen, das Stylesheet ist fehlerhaft und Implementationen müssen die zweite @import Regel ignorieren.
Hallo,
Damit da keine Missverständnisse aufkommen, das Stylesheet ist fehlerhaft
Frage: bezieht sich das auf:
width:expression(document.body.clientWidth > 820? "780px": "95%" );
wenn ja:
Soll ich darauf verzichten? und für den IE max-width _nicht_ umsetzen?
und Implementationen müssen die zweite @import Regel ignorieren.
Könntest Du das bitte näher erläutern.
Bezieht sich die _zweite_ auf Svens Vorschlag, oder auf mein zweites Stylsheet?
Gruß Fritz
Hallo,
jetzt musste ich noch ein viel gravierenderes Problem feststellen:
Laptops mit IE 5.5 (win) verwenden die handheld.css! statt der screen.css.
Hab die handheld.css aus diesem Grund jetzt ganz rausgenommen, und werde mit einer Testseite weiter testen.
Dies nur als Hinweis für Leser dieses threads
Gruß Fritz
Hi,
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.
und das würde mich (in meinen logs) stören. Warum nicht über link und media=screen eine CSS-Datei nur mit einer import-Regel einbinden?
freundliche Grüße
Ingo
Hallo,
und das würde mich (in meinen logs) stören.
mich auch
Warum nicht über link und media=screen eine CSS-Datei nur mit einer import-Regel einbinden?
ein Grund könnte sein, daß per @import auf elegante Weise alte Browser ausgeschlossen werden können.
Gruß Fritz
Hi,
Warum nicht über link und media=screen eine CSS-Datei nur mit einer import-Regel einbinden?
ein Grund könnte sein, daß per @import auf elegante Weise alte Browser ausgeschlossen werden können.
genau das hatte ich hier doch ebenfalls skizziert. Du kannst in einer CSS-Datei auch eine andere per import einbinden.
freundliche Grüße
Ingo
Hallo,
Du kannst in einer CSS-Datei auch eine andere per import einbinden.
ja, da war ich auf der Leitung gestanden. Danke für den Hinweis.
Gruß Fritz
Wenn ich jetzt aber die index.html durch den jigsaw Validator schicke, dann dreht der fast durch:
http://jigsaw.w3.org/css-validator/validator?uri=http%3A//www.widernhof.de/index.html&warning=1
Das wird an den media="..." Attributen liegen und ist wahrscheinlich ein Bug.