[IE] Verschiedene Arten Medientypen zu deklarieren - IE versteht nicht alle?

Status
Nicht offen für weitere Antworten.

Klein0r

Erfahrenes Mitglied
Hallo zusammen,

es gibt ja die möglichkeit CSS-Dateien für verschiedene Anwendungszwecke zu laden (anzeigen, drucken, ...).

Jetz habe ich das Problem das im IE 6 (unbedingt der 6er - kein anderer Browser bitte) anscheinend nur eine Variante wirklich verstanden wird. Und zwar die Definition direkt in der HTML-Seite via:

Code:
<link rel="stylesheet" type="text/css" media="print" href="../stylesheet/print.css">
zusätzlich zum normalen CSS-Pfad.

Ich würde aber nun gerne alles in einer Datei haben.
Dazu gibt es eine main.css. Diese sieht bisher so aus:

Code:
@import './screen/1.css';
@import './screen/2.css';
@import './screen/3.css';
@import './screen/4.css';

Allerdings funktioniert weder dieser Versuch alles in einer Datei unter zu bringen:
Code:
@import './screen/1.css' screen;
@import './screen/2.css' screen;
@import './screen/3.css' screen;
@import './screen/4.css' screen;

@import './print/1.css' print;
@import './print/2.css' print;
@import './print/3.css' print;
@import './print/4.css' print;

noch:
Code:
@import url('./screen/1.css') screen;
@import url('./screen/2.css') screen;
@import url('./screen/3.css') screen;
@import url('./screen/4.css') screen;

@import url('./print/1.css') print;
@import url('./print/2.css') print;
@import url('./print/3.css') print;
@import url('./print/4.css') print;

oder:
Code:
@media screen {

@import './screen/1.css';
@import './screen/2.css';
@import './screen/3.css';
@import './screen/4.css';

}

@media print {

@import './print/1.css';
@import './print/2.css';
@import './print/3.css';
@import './print/4.css';

}

oder sogar:
Code:
@media screen {

@import url('./screen/1.css');
@import url('./screen/2.css');
@import url('./screen/3.css');
@import url('./screen/4.css');

}

@media print {

@import url('./print/1.css');
@import url('./print/2.css');
@import url('./print/3.css');
@import url('./print/4.css');

}

Das sollten ja so ziemlich alle Möglichkeiten alles in eine CSS-Datei zu packen.
Aber nichts geht.

Kann das IE 6 das einfach nicht?
Oder was mache ich falsch?

lg
 
Doch er kann es.
Installier, wenn möglich, mal die IE Developer Toolbar, die kann dir die CSS anzeigen.

Geht leider nur wenn kein IE7 installiert ist
 
Mh gerade hier im Forum folgenden Satz gefunden:
@import gefolgt von der CSS-Datei in Anführungszeichen oder url() und dahinter eine oder mehrere Medientypen durch Kommas getrennt. Diese Methode wird vom Internet Explorer allerdings nicht unterstützt. Der IE beherrscht @import zwar seit der Version 4 - nicht aber im Zusammenhang mit einer Medientypangabe.

Das kann ja jetz wohl nicht wahr sein :)
Also liegts an der Import-Anweisung und nicht an der korrekten Definition.

Ich kann es absolut nicht haben wie schlecht die Jungs bei MS ihre Arbeit machen.
Falls man das überhaupt so nennen darf.

Hat sich dann wohl erledigt. Denn den Inhalt aller CSS-Dateien in eine einzige zu kopieren kommt absolut nicht in Frage.

lg
 
Hi,
Also liegts an der Import-Anweisung und nicht an der korrekten Definition.

es liegt an den hinten angehängten Medientypangaben (screen, print), wenn der IE6 die @import-Regel "verweigert".

Ohne diese gibt's in ihm keine Komplikationen, wie beispielsweise das CSS-Framework YAML unter Beweis stellt, und mit diesen von dir gezeigten CSS-Regeln kann ich ebenfalls keinerlei "Verständnisprobleme" im IE6 feststellen:

Code:
/* ohne url-Parameter */
@import './screen/1.css';

/* mit url-Parameter */
@import url('./screen/1.css');
Code:
/* ohne url-Parameter */
@media screen {
@import './screen/1.css';
}

/* mit url-Parameter */
@media screen {
@import url('./screen/1.css');
}
Code:
/* ohne url-Parameter */
@media screen {
@import './screen/1.css';
}
@media print {
@import './print/1.css';
}

/* mit url-Parameter */
@media screen {
@import url('./screen/1.css');
}
@media print {
@import url('./print/1.css');
}

mfg Maik
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück