Estou lutando com esse problema há um bom tempo agora. O problema pode ser visto em dispositivos móveis (Android e iOS); alguns dispositivos podem precisar ser ampliados um pouco. No PC, também posso reproduzir esse bug no navegador Chrome ao mudar para o modo móvel. Abaixo está o código usado para reproduzir o bug:
<!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>
O resultado esperado seria uma div que é cumprida com a cor # 553213. No entanto, em alguns dispositivos móveis, eles exibem linhas (ou intervalos) adicionais entre essas três divs.
Om meu iPhone
No meu PC, usando o navegador Chrome com o modo móvel
Alguém sabe o que está acontecendo aqui? Qualquer idéia sobre como isso acontece e como corrigi-lo seria realmente apreciada.
Respostas:
Encontrei esta resposta.
Portanto, a solução é adicionar um
margin-top: -1px;
atop
,middle
ebottom
classes.E parece bom no celular e no PC também. A
div
altura não muda. Permanece300px
.fonte
Acho que isso se deve à escala da página. Tente adicionar esta metatag na cabeça:
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
fonte
Depois de ler os comentários, vi que Madison Courto tinha uma sugestão de
que foi confirmado para resolver o problema real, mas causou problemas em outras partes da página. Então, vamos aplicar essa ideia apenas para as divs reais:
fonte
Tente com
background
. Isso funciona bem no meu celular:Não sei qual é a causa real. mas quando tentei abaixo a cor das linhas brancas convertidas em preto, tive a seguinte ideia:
clique na div superior ou inferior
fonte
A razão para este problema pode ser devido à forma como
display
block
,inline-block
estilos sendo manipulados por diferentes navegadores em diferentes telas.por exemplo, os
inline-block
elementos terão um pequeno espaço automático à direita. as pessoas geralmente resolvem isso usando negativomargin-left
.Por padrão, a
div
é umblock
elemento de nível.Esse espaço inferior que você estava enfrentando também pode ser devido à maneira como os elementos do nível do bloco estão sendo manipulados.
Como resolver o
inline-block
espaço com negativomargin-left
,este
block
espaço nivelado pode ser resolvido usandomargin-top
oudiv
o estilo paratable
,table-cell
digite ouflexbox
digite usando cssfonte
fonte
adicione um pequeno esboço para ocultar esse problema:
fonte
Apenas tente adicionar a margem inferior às divs superior e média.
Espero que isto ajude.
fonte
Use a tela e a margem inferior para corrigir o estilo.
fonte
Use a tela e a margem inferior para corrigir o estilo.
fonte