Od dłuższego czasu walczę z tym problemem. Problem można zobaczyć na urządzeniach mobilnych (Android i iOS), niektóre urządzenia mogą wymagać nieco większego powiększenia. Na komputerze mogę również odtworzyć ten błąd w przeglądarce Chrome po przełączeniu do trybu mobilnego. Poniżej znajduje się kod używany do odtworzenia błędu:
<!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>
Oczekiwanym rezultatem byłby div, który zostałby spełniony kolorem # 553213. Jednak na niektórych urządzeniach mobilnych wyświetlają dodatkowe linie (lub przerwy) między tymi trzema divami.
Om mój iPhone
Na moim komputerze za pomocą przeglądarki Chrome w trybie mobilnym
Czy ktoś wie, co się tutaj dzieje? Wszelkie pomysły dotyczące tego, jak to się dzieje i jak to naprawić, byłyby bardzo mile widziane.
Odpowiedzi:
Znalazłem tę odpowiedź.
Więc rozwiązaniem jest dodanie
margin-top: -1px;
dotop
,middle
ibottom
klas.I wygląda dobrze na urządzeniach mobilnych i komputerach PC.
div
S wysokość nie ulega zmianie. Pozostaje300px
.źródło
Wydaje mi się, że wynika to ze skali strony. Spróbuj dodać ten metatag do nagłówka:
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
źródło
Po przeczytaniu komentarzy zobaczyłem, że Madison Courto miała sugestię
co zostało potwierdzone przez rozwiązanie rzeczywistego problemu, ale spowodowało problemy w innych częściach strony. Zastosujmy ten pomysł tylko do rzeczywistych div:
źródło
Spróbuj z
background
. Działa to dobrze w moim telefonie komórkowym:Nie wiem, co jest prawdziwą przyczyną. ale kiedy spróbowałem poniżej, kolor białych linii przekonwertowano na czarny, wtedy wpadłem na ten pomysł:
kliknij górny lub dolny div
źródło
Przyczyną tego problemu może być sposób
display
block
, w jakiinline-block
style są obsługiwane przez różne przeglądarki na różnych ekranach.na przykład
inline-block
elementy będą miały automatycznie małą spację po prawej stronie. ludzie zwykle rozwiązują to za pomocą negatywumargin-left
.Domyślnie a
div
jestblock
elementem poziomu.Ta dolna przestrzeń, z którą się spotkałeś, może być również spowodowana sposobem obsługi elementów poziomu bloku.
Jak rozwiązywanie
inline-block
przestrzeni za pomocą negatywumargin-left
,tę
block
przestrzeń poziomu można rozwiązać za pomocąmargin-top
lubdiv
stylu na albotable
,table-cell
alboflexbox
wpisz, używając cssźródło
źródło
dodaj mały zarys, aby ukryć ten problem:
źródło
Po prostu spróbuj dodać margines do dołu do górnej i środkowej podziałki.
Mam nadzieję że to pomoże.
źródło
Użyj wyświetlacza i dolnego marginesu, aby naprawić styl.
źródło
Użyj wyświetlacza i dolnego marginesu, aby naprawić styl.
źródło