Je lutte avec ce problème depuis un bon moment maintenant. Le problème peut être constaté sur les appareils mobiles (Android et iOS), certains appareils peuvent nécessiter un zoom avant un peu. Sur PC, je peux également reproduire ce bug sur le navigateur Chrome lors du passage en mode mobile. Ci-dessous le code utilisé pour reproduire le bogue:
<!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>
Le résultat attendu serait une div remplie de couleur # 553213. Cependant, sur certains appareils mobiles, ils affichent des lignes (ou espaces) supplémentaires entre ces trois divisions.
Om mon iPhone
Sur mon PC, à l'aide du navigateur Chrome avec le mode mobile
Est-ce que quelqu'un sait ce qui se passe ici? Toutes les idées sur la façon dont cela se produit et comment y remédier seraient vraiment appréciées.
Réponses:
J'ai trouvé cette réponse.
Donc , la solution est d'ajouter un
margin-top: -1px;
àtop
,middle
et lesbottom
classes.Et ça a l'air bien sur mobile et PC aussi. La
div
hauteur ne change pas. Cela reste300px
.la source
Je suppose que cela est dû à l'échelle de la page. Essayez d'ajouter cette balise META à la tête:
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
la source
Après avoir lu les commentaires, j'ai vu que Madison Courto avait une suggestion de
ce qui a été confirmé pour résoudre le problème réel, mais cela a provoqué des problèmes dans d'autres parties de la page. Appliquons donc cette idée aux divs réels uniquement:
la source
Essayez avec
background
. Cela fonctionne bien dans mon mobile:Je ne sais pas quelle est la cause réelle. mais quand j'ai essayé ci-dessous, la couleur des lignes blanches converties en noir, j'ai eu cette idée:
cliquez sur div en haut ou en bas
la source
La raison de ce problème peut être due à la façon
display
block
dont lesinline-block
styles sont gérés par différents navigateurs sur différents écrans.par exemple, les
inline-block
éléments auront un petit espace automatique à droite. les gens résolvent généralement cela en utilisant le négatifmargin-left
.Par défaut, a
div
est unblock
élément de niveau.Cet espace inférieur auquel vous avez été confronté pourrait également être dû à la façon dont les éléments de niveau bloc sont traités.
Comme résoudre l'
inline-block
espace avec un négatifmargin-left
,cet
block
espace de niveau peut être résolu en utilisantmargin-top
oudiv
le style de soit entable
,table-cell
taper ouflexbox
taper en utilisant cssla source
la source
ajoutez un petit contour pour masquer ce problème:
la source
Essayez simplement d'ajouter la marge inférieure aux divisions supérieure et intermédiaire.
J'espère que cela t'aides.
la source
Utilisez l'affichage et le bas de la marge pour fixer le style.
la source
Utilisez l'affichage et le bas de la marge pour fixer le style.
la source