Deaktivieren der user-agent-Stylesheet
Ist es möglich, embed-code in Javascript oder CSS für eine bestimmte Seite zu deaktivieren (nicht laden) der user-agent-Stylesheet, das mit dem browser? Ich weiß, dass ich kann, außer es mit CSS, aber das schafft viele technische Daten überschrieben, und das scheint zu stark auf die CPU-Auslastung beim Browsen auf der Seite. Vor allem habe ich so etwas wie *{margin:0; padding: 0}
, das scheint teuer zu sein für die Darstellung (besonders die *
Selektor ist teuer). Also, ich will nicht zu stark, überschreiben die user-agent-Stylesheet, sondern deaktivieren, dass in Erster Linie, wenn möglich. Ist das möglich? Wenn ja, wie? Ich bin gerade mit Google Chrome, würde aber erwarten, dass ein cross-browser-Weise, wenn möglich.
Ich hatte in der Nähe von 100% CPU-Auslastung auf einer Seite, die ich generiert mit CSS überschreiben
*{margin:0; padding: 0;}
, und wenn ich nahm ab, die performance dramatisch verbessert. Also es ist ein Unterschied.Woah, nehmen Sie es Ihr eine große Website?
Es ist eine einzelne statische Seite mit mehreren hundert verborgenen <li> Elemente, die alternativ angezeigt werden mit einem Klick auf eine Schaltfläche powered by Javascript. Ich habe bestätigt, dass der Javascript Teil ist nicht mit die CPU zu viel.
Wie sind Sie testen? Sind Sie sicher, dass das nicht nur der browser Chrome kann die Ursache für eine hohe CPU-Auslastung, je nachdem, was sonst noch läuft.
InformationsquelleAutor sawa | 2012-10-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Frage ich mich, ob es eine Möglichkeit zum deaktivieren der user-agent-Stylesheet direkt in JavaScript. Es scheint nicht zu einem direkten Weg, da
document.styleSheets
enthält keine user-agent-Stylesheet. Auf der anderen Seite, die Firefox Web Developer Extension hat, in der CSS-Menü, eine option für die Deaktivierung der Browser ein Standard-Stylesheet.Trotzdem, es ist eine markup-Weg, obwohl ich nicht sicher bin, ob Sie wie seine Auswirkungen. So starten Sie mit, es funktioniert nicht auf IE 8 und älter (Sie zeigen nur XML-markup, nicht formatierte Inhalte). Aber moderne Browser kann damit umgehen:
xmlns
Attribut in derhtml
tag.input
erstellt ein input-Feld), verwenden Sie dasxmlns="http://www.w3.org/1999/xhtml"
Attribut auf das element oder einem umschließenden element.Einfache demo.
Dies bedeutet, dass außerhalb der Wirkung von
xmlns
Attribute, alle markup-Symbole getroffen wird, wie bilden die Reine, Sinn-frei, Formatierung-free (alle Elemente sind inline -) Elemente. Sie können gestylt in Ihrem stylesheet, obwohl.Aber auf diese Weise, Sie können nicht gleichzeitig halten Sie die HTML-Kuchen und Essen es. Das heißt, Sie können nicht bekommen, HTML-Funktionalität (für Formularfelder, links, etc.) ohne user-agent-stylesheet angewendet werden.
Genau das, was ich suchte. Allerdings bin ich immer noch neugierig über den browser-support und was das proccedure Häufig genannt.
InformationsquelleAutor Jukka K. Korpela
Verwenden Sie einen "reset-stylesheet" - das ist gut: http://html5boilerplate.com/
InformationsquelleAutor daniel
Ist es nicht möglich. Erstellen Sie einfach eine css-Datei namens von den meisten Menschen 'zurückgesetzt.css', in dem alle css-code zu überschreiben, Benutzer-agent-Stile
InformationsquelleAutor Eru
Können Sie so etwas wie die reset-css - (http://www.cssreset.com/) zurücksetzen, um alle browser-Stile..
oder, was ich bevorzugen, verwenden Sie normalisieren css - (http://necolas.github.com/normalize.css/) , normalisiert die css ohne zurücksetzen aller Stile wie Liste Stile für ul, li usw. (zurücksetzen.css würde das tun)
InformationsquelleAutor alphanyx