Webkit-float und display
Ich habe ein problem mit Webkit-Browsern (Chrome/Safari), CSS3 Media Queries, display
und float
auf meine Website. Die Standard-styling auf meiner Webseite ist auf float das element nav
rechts und display:inline-block
. Wenn das Fenster in der Größe verändert, um mobile Größe, Media Queries restyles es zu: float:none; display:block
. Das problem entsteht, wenn der browser Größe zurück zu normal: die Navigations-element angezeigt wird, sank über den Betrag, der seiner Höhe. Hier einige Bilder und markup:
Fenster Normal und Website Richtig Angezeigt:
Fenster-Mobile Größe, Standort Korrekt Angezeigt:
Fenster Größe Wieder Normal, Website Falsch Angezeigt:
Hier ist die normale styling für nav
(und ja fahre ich den IE7 Zeugs in ein separates stylesheet,...)
nav {
text-align:center;
float:right;
display:inline-block;
*display:inline;
zoom:1;
margin-top:30px;
*margin-top:-70px;
}
Hier ist die Medien-Abfrage, die restyles nav
:
@media screen and (max-width:480px)
{
header nav
{
margin:0;
float:none;
display:block;
}
}
So, ist das ein Webkit-bug, oder das erwartete Verhalten? Mache ich etwas falsch, oder ist mit Webkit? Wenn es ist ein bug ist, kennt jemand einen guten workarounds? Die live-site ist hier, lassen Sie mich wissen, wenn ich muss mehr info. Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Reduzierte ich es bis auf diese: http://jsbin.com/opawal/
480px
.480px
.480px
.Ist es ein bug.
float: right
aufnav
oder nicht verwendendisplay: inline-block
aufh1
/h2
. Versuchen Sie, die Umkehrung Ihrer Nutzungfloat
undinline-block
. Oder vielleichtposition: relative
aufheader
undposition: absolute
auf die untergeordneten Elemente, um Sie lebensfähig. Wenn Sie nicht finden können, etwas, das funktioniert, lassen Sie es mich wissen und ich werde einen anderen Blick.float: left
gelöst es sehr sauber, schöne Arbeit.