Hallo,
in einem aktuellen Projekt habe ich für Bildschirm und Druck zwei verschiedene Stylesheets eingebunden.
<link rel="stylesheet" type="text/css" href="screen.css" media="screen" title="screen layout" />
<link rel="stylesheet" type="text/css" href="print.css" media="print" title="printer layout" />
Sowohl css als auch web sind einwandfrei validiert. Trotzdem wurde beim Druck das zweite css im FF und IE ignoriert. In der entsprechenden FF-Webdeveloper Funktion wurde dagegen das Drucklayout richtig angezeigt.
Die Lösung des Problems: title Attribut entfernt, danach geht es. Komisch, laut Selfhtml ist title ein zulässiges Attribut bei dem link-tag.
Das schon, aber sobald du einen Titel angibst wählt der User-Agend ein "Schema" aus - du kannst also entweder "screen layout" oder "printer layout" haben - das sind zwei verschiedene Layouts, es kann aber nur eines aktiv sein - sinnvoll sind die Titel nicht.
Irgendeine Idee, warum so was klemmt?
Gedacht ist das mit den Titeln eigentlich so:
<link rel="stylesheet" type="text/css" href="blau.css" media="screen" title="blaues layout" />
<link rel="stylesheet" type="text/css" href="blau_print.css" media="print" title="blaues layout" />
<link rel="stylesheet" type="text/css" href="rot.css" media="screen" title="rotes layout" />
<link rel="stylesheet" type="text/css" href="rot_print.css" media="print" title="rotes layout" />
Näheres findest du z.B. bei den Mozilla-Leuten:
https://developer.mozilla.org/en/Correctly_Using_Titles_With_External_Stylesheets
(Nur rein interessehalber, das Layout wurde so von einer externen Firma als Template erstellt, normalerweise wissen die, was sie tun)
Der war gut - ich hab' die Erfahrung gemacht, dass die wenigsten wissen, was sie tun.
Ich hab' letztens von einem Kunden gesteckt bekommen, dass sie jetzt ein Microsite machen lassen von einer anderen Agentur - wir müssen dann nur eine Weiterleitung im Stil von "example.com/microsite zu externe-microsite.example.org" machen. Als erstes kommt ein zip-File mit einen php-Script welches einen Aufruf von header() beinhaltet mit irgend einem URL auf eine Unterseite der Website). Syntaxfehler und daraus resultierende PHP-Fehlermeldung inklusive. Ganz zu schweigen davon, dass die unmöglich wissen konnten, dass die Site mit PHP läuft - die haben es einfach mal angenommen.
Auf meine bitte hin, doch den richtigen Link zu schicken und nicht irgendwelche Scripte bekomme ich ein gigantisches ZIP-File mit dem Sourcecode der Microsite (geschrieben in ASP/VB) inklusive einigem Zeug, was sicher nicht für mich bestimmt war. Erst nach mehreren Telefonaten konnnte ich dem Kunden in der anderen Agentur klar machen, dass ich damit nix anfangen kann, weil es a) anders ausgemacht war und b) auf dem Server kein ASP läuft und c) wir sicher nicht einfach ungeprüften Code auf den Server packen, besonders weil die Datenmenge für eine Microsite doch etwas viel war.
Das ging dann ein paar Wochen hin und her und hat dann dazu geführt, dass ich die Microsite nachbauen musste, weil die andere Agentur das nicht konnte :)
Und erst diese Woche hatte ich ein ähnliches Erlebnis - da sind aber zwei andere Agenturen beteiligt - eine gute "herkömmgliche" Agentur in der aber nur eine Person wirklich Ahnung vom Web hat und eine Internet-Agentur die wirklich Ahnung von dem haben was sie tun - leider ist die Kommunikation aber über die Leute gelaufen, die sich genau nicht auskennen :)
Ich könnte mit solchen Geschichten übrigens Bücher füllen :p