Kann mir bitte jemand helfen, diesen Fehler in den Griff zu bekommen? Mit Firefox funktioniert es einwandfrei, mit Internet Explorer 7 jedoch nicht. Es scheint das nicht zu verstehen display: inline-block;
.
html:
<div class="frame-header">
<h2>...</h2>
</div>
CSS:
.frame-header {
height:25px;
display:inline-block;
}
html
internet-explorer-7
css
Lanthuong
quelle
quelle
Antworten:
Der IE7-
display: inline-block;
Hack lautet wie folgt:Standardmäßig unterstützt IE7 nur
inline-block
natürlicheinline
Elemente ( Quirksmode-Kompatibilitätstabelle ), sodass Sie diesen Hack nur für andere Elemente benötigen.zoom: 1
Auslöser ist es zuhasLayout
Verhalten, und wir nutzen die Sterne - Unterkunft Hack für die Einstellungdisplay
zuinline
nur in IE7 und niedriger (neueren Browsern wird das nicht gelten).hasLayout
undinline
zusammen wird im Grunde genommeninline-block
Verhalten in IE7 auslösen , also sind wir glücklich.Dieses CSS wird nicht validiert und kann Ihr Stylesheet trotzdem durcheinander bringen. Daher kann die Verwendung eines Nur-IE7-Stylesheets durch bedingte Kommentare eine gute Idee sein.
quelle
*zoom:1;
, hasLayout zu triger. So ist es klarer, dass die*zoom
und zusammen*display
gehenAktualisieren
Da niemand mehr IE6 und 7 verwendet, werde ich eine andere Lösung vorstellen:
Sie brauchen keinen Hack mehr, weil IE8 ihn selbst unterstützt
Für diejenigen, die diese steinzeitlichen Browser vor IE8 unterstützen müssen (es ist nicht so, dass der IE8 so alt ist, zu hustend ):
Verwenden Sie für die IE-Versionskontrolle eine bedingte Klasse in
<html>
Tags, wie es Paul Irish in seinem Artikel angibtAuf diese Weise haben Sie verschiedene Klassen im HTML-Tag für verschiedene IE-Browser
Das CSS, das Sie benötigen, lautet wie folgt
Dies wird überprüft und Sie benötigen keine zusätzliche CSS-Datei
Alte Antwort
quelle
inline-block
auf dasframe-header
Element. Oder ändern ,inline-block
indemframe-header
in den CSS - Selektoren.IE7 unterstützt 'Inline-Block' nicht richtig, weitere Informationen hier: LINK
Use kann stattdessen 'Inline' verwenden.
Was genau versuchst du zu erreichen? Machen Sie uns ein Beispiel und setzen Sie hier: http://jsfiddle.net/
quelle
Verwenden Sie Inline, es funktioniert mit dieser Art von Selektoren für Listenelemente:
oder um genau zu sein:
quelle
inline
ist nicht dasselbe wieinline-block
. Zum Beispiel wird dasheight: 25px;
im Beispiel nicht wirksam, wenn das Element istinline
. Die Frage sagt auch nichts über Listen aus.