Kompatibilitätsverarbeitungspunkte
1. DOCTYPE wirkt sich auf die CSS-Verarbeitung aus
2. FF: Nach dem Festlegen von Padding wird die Div-Größe Höhe und erhöht Breite, IE jedoch nicht, daher müssen Sie !important verwenden, um eine zusätzliche Höhe und Breite festzulegen
3. FF: unterstützt !important, aber IE ignoriert es. Sie können !important zum Festlegen verwenden ein spezieller Stil für FF
4. Vertikales Zentrierungsproblem von div: vertikal-align:middle; Erhöhen Sie den Zeilenabstand auf die gleiche Höhe wie das Ganze DIV line-height: 200px; Fügen Sie dann den Text ein und er wird vertikal zentriert. Der Nachteil besteht darin, dass der Inhalt ohne Zeilenumbrüche gesteuert werden muss
5. Das BOX--Modell in Mozilla Firefox und IE weist inkonsistente Interpretationen auf, was zu einem Unterschied von 2 Pixeln führt. Lösung:
div{margin :30px!important;margin:28px;}
Beachten Sie, dass die Reihenfolge dieser beiden Ränder nicht umgekehrt werden darf, !important dieses Attribut Der IE kann es nicht erkennen, andere Browser können jedoch identifiziert werden. Unter IE wird es also tatsächlich so interpretiert:
div{maring:30px;margin:28px}
Wenn Sie die Definition wiederholen, wird sie gemäß der letzten ausgeführt, also Sie kann nicht einfach margin:XXpx!important schreiben;
Browserunterschiede
1. Beim Entfernen der Einrückung von ul-, ol- und anderen Listen sollte der Stil berücksichtigt werden geschrieben werden als:
list-style
:none;margin:0px;padding:0px; Das Margin-Attribut ist für IE gültig und das Padding-Attribut ist für FireFox gültig.
[Hinweis] Es wurde bestätigt, dass im IE die Einstellung „margin:0px“ die oberen, unteren, linken und rechten Einzüge, Leerzeichen sowie Listennummern oder Punkte der Liste entfernen kann Der Stil; in Firefox kann die Einstellung „margin :0px“ nur die oberen und unteren Leerzeichen entfernen. Sie müssen auch „list-style:none“ festlegen, um Listennummern oder Punkte zu entfernen. Mit anderen Worten: Im IE kann nur margin:0px festgelegt werden, um den endgültigen Effekt zu erzielen, während in Firefox margin:0px, padding:0px und list-style:none gleichzeitig festgelegt werden müssen, um den endgültigen Effekt zu erzielen.
2. CSS-Transparenzproblem
IE: filter:progid:DXImageTrans
für
m.Microsoft.Alpha(style=0,opacity=60). FF:Deckkraft:0,6. [Hinweis] Es ist am besten, beides zu schreiben und das Deckkraftattribut unten anzugeben.
3. CSS-Problem mit abgerundeten Ecken
IE: Versionen unter ie7 unterstützen keine abgerundeten Ecken.
FF: -moz-b
ord
er-radius:4px, oder -moz-border-radius-topleft:4px -moz- border- radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz- border- radius-bottomright:4px;. [Hinweis] Das Problem mit abgerundeten Ecken ist ein klassisches Problem in CSS. Es wird empfohlen, das JQuery
Framework zum Festlegen abgerundeter Ecken zu verwenden und diese komplexen Probleme anderen zu überlassen darüber nachdenken. Die abgerundeten Ecken von jQuery unterstützen jedoch nur die abgerundeten Ecken des gesamten Bereichs und nicht die abgerundeten Ecken dieses Randes. Ich werde es jedoch beim nächsten Mal vorstellen. 4. Cursor:Hand VS Cursor:Pointer
Problembeschreibung: Firefox unterstützt keine Hand, aber IE unterstützt Zeiger, beides sind Handanweisungen.
Lösung: Zeiger einheitlich verwenden.
Unterschiedliche Definitionen der Schriftgröße
Die Definition der Schriftgröße sm
alle
ist 13px in Firefox und 16px im IE . Lösung: Verwenden Sie die angegebene Schriftgröße, z. B. 14 Pixel.
Zwischen Divs und Divs mehrerer nebeneinander angeordneter Elemente (
Bilder
oder Links) werden Leerzeichen und Wagenrückläufe im Code in Firefox ignoriert, im IE jedoch standardmäßig angezeigt ist Platz (ca. 3px). 6. CSS-Doppellinien-Bump-Rand
IE: border:2px out
set
;. FF: -moz-border-top-colors: #d4d0c8 weiß;-moz-border-left-colors: #d4d0c8 weiß;-moz-border-right-colors:#404040 #808080;-moz-border- bottom-colors:#404040 #808080;
Browser-Fehler
1. IE-Fehler mit doppeltem Rand
Der für ein Div, das unter IE auf float eingestellt ist, festgelegte Rand wird verdoppelt. Dies ist ein Fehler, der in ie6 vorhanden ist.
Lösung: Fügen Sie display:inline
zu diesem Div hinzu:
<#div id="imfloat"> 🎜>
Das entsprechende CSS lautet
Der folgende Inhalt wird von
zitiert:
#IamFloat{ float:left; margin:5px;/*IE下理解为10px*/ display:inline;/*IE下再理解为5px*/ } #IamFloat{ float:left; margin:5px;/*IE下理解为10px*/ display:inline;/*IE下再理解为5px*/ }
2. IE-Selektor-Leerzeichenfehler
Als ich heute den ersten Zeichenstil für den Absatzstil meines Blogs festlegte, stellte ich fest, dass ein Leerzeichen den Stil auch ungültig machen kann.
Bitte schauen Sie sich den folgenden Code an:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="//www.w3.org/1999/xhtml"> <head> <title></title> <style type="text/css"> <!-- p{font-size:12px;} p:first-letter{font-size:300%} --> </style> </head> <body>
Für die Welt sind Sie eine Person, aber für jemanden sind Sie seine ganze Welt. Auch wenn Sie traurig sind, runzeln Sie nicht die Stirn, denn Sie wissen nicht, wer sich in Ihr Lächeln verlieben wird.
[/code]
Dieser Code definiert den ersten Zeichenstil von
hat keine Auswirkungen auf IE6 (IE7 wurde nicht getestet), und zwischen p:first-letter und {font-size:300%}, also nach p:first-letter {font-size:300%}, wird ein Leerzeichen eingefügt } , die Anzeige ist normal. Aber der gleiche Code sieht unter FireFox normal aus. Logisch gesehen ist die Schreibweise von p:first-letter{font-size:300%} korrekt. Was ist also das Problem? Die Antwort ist der Bindestrich „-“ in der Pseudoklasse
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="//www.w3.org/1999/xhtml"> <head> <title></title> <style type="text/css"> <!-- p{font-size:12px;} p:first-letter{font-size:300%} --> </style> </head> <body>对于世界而言,你是一个人;但是对于某个人,你是他的整个世界。纵然伤心,也不要愁眉不展,因为你不知是谁会爱上你的笑容。