2010-07-09 5 views
40

In an answer about CSS ein Benutzer sagte:Hat IE 8 eine Beschränkung der Anzahl der Stylesheets pro Seite?

Internet Explorer hat eine Grenze von 4096 CSS Regeln pro Datei haben soll. Reference

Außerdem ist die Anzahl der Formatvorlagen, die Sie in ein einzelnes Dokument einbetten können, begrenzt. Ich denke, es 20.

ist Während die reference on MSDN dies zu bestätigen scheint (und es gibt a blog post, die dies in IE7 bestätigt), dann ist dies immer noch der Fall für IE8?

+7

Wenn Sie auf einer Seite 20 verschiedene Stylesheets haben Bless bekommen installiert aussortiert, Sie etwas falsch machen! – Oded

+0

@Oded: True das. Die meisten Dokumente mit einem lächerlich komplexen Algorithmus automatisch zu generieren, kann Sie dorthin bringen. und manchmal haben Sie keine Berechtigung, den oben genannten Algorithmus umzuformen. – Piskvor

+0

bist du bedroht, wenn so? * "lächerlich komplexer Algorithmus" * sollte dann vereinfacht werden. Mehr als 2-3 Stylesheets machen Ihre Website träge. Es wird ein echter Schmerz für Ihre Benutzer sein, die Seiten zu laden. – galambalazs

Antwort

55

Ja, IE8 (und sogar IE9 anscheinend) begrenzen die Anzahl der Stylesheets auf 31 pro Seite.

Telerik hat an article und test page, die das Problem demonstrieren. Laut den Kommentaren im selben Artikel wurde die Einschränkung 4096 Regeln pro Datei in Microsoft Connect als nicht behoben markiert, konnte aber nicht überprüft werden.

+1

Wird nicht repariert? Naja ... es scheint ein Grenzfall für MS zu sein, und es ist ein Eckfall für mich. Ich werde dann für eine Art von serverseitigen CSS-Combiner/Minifier versuchen. – Piskvor

+0

(Ich bin mir bewusst, dass das Kombinieren der Dateien wird nicht mit dem "4096 Regeln" Problem helfen, aber ich bin nicht dabei, das * Limit zu treffen, um eine lange Strecke) – Piskvor

+3

Microsoft sagen, die nicht planen, zu beheben dies hier: https://connect.microsoft.com/IE/feedback/details/542903/ie9-platform-preview-does-not-load-more-than-4095-css-selectors-on-a-page –

5

This thread schlägt vor, dass es eine Grenze von 31 CSS-Referenzen pro Seite/CSS-Datei gibt, aber dass Sie mehr erreichen können, indem Sie @import und eine verschachtelte Hierarchie von CSS-Dateien verwenden.

More info von einem Telerik Blog zu dem Thema, wodurch es klarer, dass dies für IE8 gilt.

+0

Gibt es irgendwelche Bedenken über den Browser-Cache, wenn ich @import verwende? – padis

+0

@padis Klingt wie das sollte eine separate Frage sein. Http://www.stevesouders.com/blog/2009/04/09/dont-use-import/ gibt jedoch einige Informationen über die Auswirkungen von '@ import'. Unter der Annahme, dass das CSS einigermaßen statisch ist, scheint es am besten zu sein, wenn möglich, Ihr CSS dynamisch zu einer einzigen virtuellen Datei zu aggregieren. –

4

Microsoft Ansprüche das Limit ist 30, aber die Grenze ist anscheinend 31 nach Telerik. Der Telerik-Blog erwähnt auch ein Limit von 4095 Selektoren pro Datei.

+0

Ich hatte IE mich bei 30 genau regelmäßig abschneiden, so Microsoft ist voll davon: D – DrCord

3

Dank der oben genannten testing script habe ich gerade diese Einschränkung (anscheinend 30) noch existiert auch in Internet Explorer 9 bestätigt!

+1

Nicht mehr manifestieren in IE 11. – Piskvor

0

Ich baute eine Website und traf dieses Problem selbst. Es machte mich so wahnsinnig, bis ein Kollege auf diese 31 CSS-Dateien hinwies. Wenn ich es genauer betrachte, fällt mir auf, dass es komplizierter ist, weil IE8 einige der Stile aus dem Blatt geladen hat, aber nicht alle. Es ignorierte Medienabfragen und verkettete Klassen genauso wie es sich im Quirks-Modus verhielt - obwohl es nicht im Quirks-Modus war und beide in der gleichen CSS-Datei waren wie andere CSS, die verwendet wurden. Sobald ich die CSS-Dateien in einer Datei zusammengefasst habe, hat alles funktioniert. Wie auch immer, ich wollte nur darauf hinweisen, dass dieses 31-Limit irgendwie auch den Quirk-Modus auslöst.

0

Wenn Sie NPM es das Problem für Sie

+0

Keine Ahnung, was diese beiden sind; Ich nehme an, dass es ein System ist, das die einzelnen Stylesheets zu einem einzigen kompiliert? Das hätte geholfen, ja. – Piskvor

Verwandte Themen