Ich habe jetzt schon eine ganze Weile mit diesem Problem zu kämpfen. Das Problem tritt auf Mobilgeräten (Android und iOS) auf. Einige Geräte müssen möglicherweise etwas vergrößert werden. Auf dem PC kann ich diesen Fehler auch im Chrome-Browser reproduzieren, wenn ich in den mobilen Modus wechsle. Unten ist der Code, mit dem der Fehler reproduziert wird:
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.top {
height: 100px;
background-color: #553213;
}
.middle {
height: 100px;
background-color: #553213;
}
.bottom {
height: 100px;
background-color: #553213;
}
</style>
</head>
<body>
<div style="width:300px; height: 300px">
<div class="top"></div>
<div class="middle"></div>
<div class="bottom"></div>
</div>
</body>
</html>
Das erwartete Ergebnis wäre ein Div, das mit der Farbe # 553213 erfüllt wird. Auf einigen Mobilgeräten werden jedoch zusätzliche Linien (oder Lücken) zwischen diesen drei Divs angezeigt.
Om mein iPhone
Verwenden Sie auf meinem PC den Chrome-Browser im mobilen Modus
Weiß jemand, was hier los ist? Alle Ideen darüber, wie es passiert und wie es behoben werden kann, wären sehr willkommen.
Antworten:
Ich habe diese Antwort gefunden.
So ist die Lösung ist ein hinzufügen
margin-top: -1px;
zutop
,middle
undbottom
Klassen.Und es sieht auch auf Mobilgeräten und PCs gut aus. Die
div
Höhe ändert sich nicht. Es bleibt300px
.quelle
Ich denke, das liegt an der Größe der Seite. Versuchen Sie, dieses Meta-Tag dem Kopf hinzuzufügen:
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
quelle
Nachdem ich die Kommentare gelesen habe, habe ich gesehen, dass Madison Courto einen Vorschlag von hatte
Dies wurde zur Lösung des eigentlichen Problems bestätigt, hat jedoch Probleme in anderen Teilen der Seite verursacht. Wenden wir diese Idee also nur auf die tatsächlichen Divs an:
quelle
Versuchen Sie es mit
background
. Dies funktioniert gut in meinem Handy:Ich weiß nicht, was die eigentliche Ursache ist. Aber als ich unten versuchte, die Farbe der weißen Linien in Schwarz umzuwandeln, kam mir die Idee:
Klicken Sie auf oben oder unten div
quelle
Der Grund für dieses Problem könnte der Weg sein
display
block
,inline-block
Stile von verschiedenen Browsern auf verschiedenen Bildschirmen verarbeitet werden.Beispielsweise haben
inline-block
Elemente rechts automatisch einen kleinen Raum. Menschen lösen dies normalerweise mit Negativmargin-left
.Standardmäßig ist a
div
ablock
Ebenenelement.Dieser untere Bereich, dem Sie gegenübergestanden haben, kann auch an der Art und Weise liegen, wie Elemente auf Blockebene behandelt werden.
Als würde man den
inline-block
Raum mit dem Negativen lösenmargin-left
,Dieser
block
Ebenenraum kann entweder mit gelöst werdenmargin-top
oderdiv
des Stils in entwedertable
,table-cell
Typ oderflexbox
Typ mit CSSquelle
quelle
Fügen Sie eine kleine Gliederung hinzu, um dieses Problem zu verbergen :
quelle
Versuchen Sie einfach, den unteren Rand zu den oberen und mittleren Divs hinzuzufügen.
Hoffe das hilft.
quelle
Verwenden Sie die Anzeige und den unteren Rand, um das Styling zu korrigieren.
quelle
Verwenden Sie die Anzeige und den unteren Rand, um das Styling zu korrigieren.
quelle