Saya menggunakan visibility:hidden
untuk menyembunyikan elemen-elemen tertentu, tetapi mereka masih mengambil ruang di halaman sambil disembunyikan.
Bagaimana saya bisa membuat mereka benar-benar menghilang secara visual, seolah-olah mereka tidak ada di DOM sama sekali (tetapi tanpa benar-benar menghapusnya dari DOM)?
offsetTop
, dandisplay:none
akan menetapkanoffsetTop
ke 0. Solusi saya di sini adalah menggunakanvisibility: hidden
lalu mengatur lebar dan tinggi menjadi 0. Setelah saya perlu membuat elemen terlihat lagi, saya menghapus tiga atribut menggunakan Javascript. Sedikit solusi hacky, tetapi ini bekerja dengan baik untuk hampir semua kasus penggunaan.