Visibilitas adalah properti yang dapat dianimasikan menurut spesifikasi, tetapi transisi pada visibilitas tidak bekerja secara bertahap, seperti yang diharapkan. Alih-alih transisi pada penundaan visibilitas menyembunyikan elemen. Di sisi lain, membuat elemen terlihat bekerja dengan segera. Ini seperti yang didefinisikan oleh spesifikasi (dalam kasus fungsi pengaturan waktu default) dan seperti yang diterapkan di browser.
Ini juga merupakan perilaku yang berguna, karena sebenarnya orang dapat membayangkan berbagai efek visual untuk menyembunyikan suatu elemen. Memudarkan elemen hanyalah salah satu jenis efek visual yang ditentukan menggunakan opasitas. Efek visual lainnya mungkin memindahkan elemen menggunakan misalnya properti transformasi, lihat juga http://taccgl.org/blog/css-transition-visibility.html
Seringkali berguna untuk menggabungkan transisi opasitas dengan transisi visibilitas! Meskipun opacity tampaknya melakukan hal yang benar, elemen yang sepenuhnya transparan (dengan opacity: 0) masih menerima peristiwa mouse. Jadi misalnya tautan pada elemen yang memudar dengan transisi opasitas saja, masih merespons klik (meskipun tidak terlihat) dan tautan di belakang elemen yang memudar tidak berfungsi (meskipun terlihat melalui elemen yang memudar). Lihat http://taccgl.org/blog/css-transition-opacity-for-fade-effects.html .
Perilaku aneh ini dapat dihindari dengan hanya menggunakan kedua transisi, transisi pada visibilitas, dan transisi pada opasitas. Dengan demikian, properti visibilitas digunakan untuk menonaktifkan peristiwa mouse untuk elemen tersebut sementara opasitas digunakan untuk efek visual. Namun, kehati-hatian harus dilakukan untuk tidak menyembunyikan elemen saat efek visual diputar, yang jika tidak, tidak akan terlihat. Di sini semantik khusus dari transisi visibilitas menjadi berguna. Saat menyembunyikan elemen, elemen tetap terlihat saat memutar efek visual dan disembunyikan setelahnya. Di sisi lain saat menampilkan sebuah elemen, transisi visibilitas membuat elemen tersebut langsung terlihat, yaitu sebelum memainkan efek visual.
opacity
dapat mengambil beberapa nilai antara0
dan1
, sementaravisibility
hanya dapatvisible
atauhidden
(tidak ada nilai perantara)