Saya sedang membangun portal web yang harus fungsional dan cantik di berbagai platform. Salah satu platform adalah IOS Safari, dan ini adalah saya mengalami masalah. Dalam kode saya, saya menyelaraskan dua tombol mengambang ke bagian bawah div dengan lebar dan tinggi 100% Ini semua berfungsi dengan baik dan tombol saya muncul persis seperti yang seharusnya ada di bagian bawah halaman. Namun ketika saya mengklik tombol, tampilan ringkas dari safari seluler beralih ke tampilan penuh dan tombol saya tersembunyi di belakang bilah navigasi!
Apakah perilaku normal safari mobile untuk menampilkan menu yang diperluas ketika pengguna mengetuk di bawah 10% dari layar? Bagaimana saya bisa menghindari ini?
Dalam gif ini Anda dapat melihat masalah pada simulator iOS:
Seperti yang Anda lihat masalahnya hanya terjadi ketika tombol berada di bawah 10% dari tampilan. Ini hanya tombol normal, kode saya tiga kali diperiksa oleh beberapa pengembang dan tidak ada kesalahan.
sumber
Jawaban:
Ini adalah perilaku normal di Mobile Safari, mengetuk di bagian bawah akan menampilkan berbagai opsi browser dan menggulir halaman web ke atas. Fungsionalitas halaman web tetap sama, sehingga pengguna masih dapat mengetuk tombol setelah digulir untuk mengakses fungsionalitas apa pun yang dimilikinya.
sumber
Saya pikir saya mungkin telah menemukan jawaban. Mengatur konten Anda agar memiliki gaya berikut:
height: 100%
(memungkinkan konten untuk mengisi viewport dan melampaui bagian bawah)overflow-y: scroll
(memungkinkan Anda untuk menggulir di bawah viewport; nilai default adalahvisible
)-webkit-overflow-scrolling: touch
(untuk memperlancar setiap perilaku gulir)tampaknya memaksa menu iOS di Safari untuk selalu muncul. Dengan begitu, klik tombol akan benar-benar berfungsi alih-alih membuka menu Safari. Semoga ini membantu!
sumber
overflow-y: scroll
pada area konten utama mereka. Retas ini memiliki efek samping yang akan memengaruhi semua elemen anak-anak itu. Untuk membuatnya lebih benar, properti css ini secara langsung mempengaruhi semua elemen anak-anak dan memaksa menu safari untuk ditampilkan sebenarnya adalah efek sampingnya.height: 100%
juga. Bagi perusahaan yang menghasilkan banyak uang dari perangkat seluler, pengalaman web seluler mereka mengerikan.