Rumah >hujung hadapan web >tutorial css >10 cara untuk menyembunyikan unsur -unsur di CSS
Penjelasan terperinci mengenai kaedah bersembunyi elemen CSS dan perbandingan prestasi
mata utama
opacity
boleh menjadikan elemen itu benar -benar telus, tetapi elemen tetap berada di halaman dan masih boleh mencetuskan peristiwa. filter: opacity()
Atribut transform
Atribut display
hidden
Kesan animasi
Beberapa pilihan tersembunyi CSS adalah semua atau tidak. Unsur -unsur sama ada kelihatan sepenuhnya atau tidak kelihatan, tanpa keadaan pertengahan. Pilihan lain, seperti ketelusan, boleh mempunyai pelbagai nilai, jadi animasi CSS interpolasi dapat dilaksanakan.
Kebolehcapaian
Setiap kaedah yang diterangkan di bawah menyembunyikan unsur -unsur secara visual, tetapi ia mungkin tidak menyembunyikan kandungan elemen teknologi bantuan. Sebagai contoh, pembaca skrin masih boleh mengumumkan teks telus kecil. Atribut CSS selanjutnya atau atribut ARIA (mis.
aria-hidden="true"
Sila ambil perhatian bahawa animasi juga boleh menyebabkan sesetengah orang mengalami disorientasi, migrain, sawan, atau ketidakselesaan fizikal yang lain. Pertimbangkan untuk menggunakan
prefers-reduced-motion
Menyembunyikan elemen akan menghalang peristiwa daripada dicetuskan pada elemen itu, atau ia tidak mempunyai kesan. Iaitu, unsur -unsur tidak dapat dilihat, tetapi masih boleh diklik atau diterima oleh interaksi pengguna lain.
Prestasi
Selepas penyemak imbas beban dan menghancurkan model objek HTML DOM dan CSS, halaman akan dibentangkan dalam tiga peringkat:
susun atur: menjana geometri dan kedudukan setiap elemen
1 Ciri -ciri
dan Dalam pelayar moden, hampir tidak ada perbezaan praktikal antara kedua -dua, walaupun 2
,
Setiap atribut boleh menghidupkan secara berasingan untuk menghasilkan kesan yang menarik. Perhatikan bahawa ketelusan tidak boleh digunakan untuk elemen dengan latar belakang imej melainkan dijana menggunakan
3
Sifat -sifat boleh digunakan untuk pan (MOV), skala, berputar, atau elemen kecondongan. menyediakan prestasi yang sangat baik dan pecutan perkakasan, kerana unsur -unsur sebenarnya dipindahkan ke lapisan yang berasingan dan boleh animasi dalam 2D atau 3D. Ruang susun atur asal tetap sama, tetapi unsur -unsur yang tersembunyi tidak mencetuskan sebarang peristiwa.
4
atau Lihat Contoh
6
Atribut
Walau bagaimanapun, ia mungkin merupakan harta CSS yang paling teruk dalam kebanyakan kes. Ia tidak boleh disusun semula dan mencetuskan susun atur halaman melainkan elemen dipindahkan dari aliran dokumen menggunakan atau atribut yang baru diterima pakai. , ke mana -mana elemen:
membolehkan penggunaan , dan untuk memindahkan unsur -unsur dari kedudukan statik lalai dalam susun atur halaman. Oleh itu, unsur -unsur yang benar -benar diposisikan boleh dipindahkan dari skrin menggunakan atau kaedah yang serupa. 9
Elemen boleh disembunyikan secara visual dengan meletakkan elemen lain dengan warna yang sama seperti latar belakang di atas. Dalam contoh ini, pseudo-elemen
unsur -unsur boleh disembunyikan dengan menggunakan , , ,
boleh mencapai animasi yang menarik, tetapi prestasi jauh lebih baik daripada .
Selama bertahun -tahun, telah menjadi penyelesaian pilihan untuk unsur -unsur tersembunyi, tetapi ia telah digantikan oleh pilihan yang lebih fleksibel dan lebih mudah untuk diwujudkan. Ia masih berfungsi, tetapi hanya boleh digunakan jika anda ingin menyembunyikan semua kandungan pengguna secara kekal. Apabila mempertimbangkan prestasi, adalah pilihan yang lebih baik.
FAQ
(bahagian Soalan Lazim harus dimasukkan di sini dan diselaraskan dan ditambah mengikut kandungan asal. Ia disyorkan untuk menyusun semula bahagian FAQ asal ke dalam struktur yang lebih jelas dan menyatakannya dalam bahasa yang lebih mudah.) 🎜>
Singkatnya, kaedah mana untuk memilih untuk menyembunyikan unsur -unsur bergantung kepada senario dan keperluan aplikasi tertentu, dan perlu menimbang faktor seperti prestasi, aksesibiliti dan kesan animasi. biasanya pilihan yang lebih baik, manakala sesuai untuk menyembunyikan kandungan secara kekal yang tidak perlu diakses. Ingatlah untuk sentiasa mengutamakan kebolehcapaian dan pengalaman pengguna. opacity
boleh lulus nombor antara 0 dan 1, atau peratusan antara 0% dan 100%, yang mewakili ketelusan penuh dan jumlah kepelbagaian, masing -masing. filter: opacity()
filter
harus digunakan jika kesan berganda digunakan pada masa yang sama (fuzzy, kontras, kelabu, dan lain -lain). opacity
boleh animasi dan memberikan prestasi yang sangat baik, tetapi sedar bahawa unsur -unsur yang benar -benar telus kekal di halaman dan boleh mencetuskan peristiwa.
指标
效果
浏览器支持
良好,但IE仅支持opacity 0到1
可访问性
如果设置为0或0%,则内容不会被读取
布局影响
否
渲染需求
合成
性能
最佳,可以使用硬件加速
动画帧
是
隐藏时触发事件
是
opacity
dan color
juga boleh ditetapkan secara berasingan. Menggunakan background-color
atau kaedah yang serupa untuk memohon saluran sifar Alpha akan menjadikan projek itu benar -benar telus. border-color
rgba(0,0,0,0)
linear-gradient
Saluran Alpha boleh ditetapkan menggunakan kaedah berikut: : sepenuhnya telus (animasi pertengahan tidak dapat dilakukan)
transparent
rgba(r, g, b, a)
hsla(h, s, l, a)
#RRGGBBAA
#RGBA
transform
atau (bergerak keluar dari skrin) akan menyembunyikan elemen: transform
Lihat Contoh scale(0)
translate(-999px, 0px)
transform
akan menyembunyikan elemen sepenuhnya.
指标
效果
浏览器支持
良好
可访问性
内容仍然会被读取
布局影响
否——原始尺寸保持不变
渲染需求
合成
性能
最佳,可以使用硬件加速
动画帧
是
隐藏时触发事件
否
clip-path
Lihat Contoh clip-path
menyediakan pelbagai animasi yang menarik, walaupun ia hanya boleh digunakan dalam pelayar moden. clip-path: circle(0);
clip-path
untuk menunjukkan dan menyembunyikan unsur -unsur.
指标
效果
浏览器支持
仅限现代浏览器
可访问性
一些应用程序仍然可以读取内容
布局影响
否——原始尺寸保持不变
渲染需求
绘制
性能
合理
动画帧
是,在现代浏览器中
隐藏时触发事件
否
visibility
Kecuali visibility
display
mungkin merupakan kaedah yang paling biasa digunakan untuk bersembunyi unsur -unsur. Nilai display
none
Lihat Contoh position: absolute
juga terlalu banyak dan mempunyai pilihan seperti contain
, display
, block
, inline
, dan lain -lain. Menetapkan semula kepada nilai yang betul selepas table
boleh menyusahkan (walaupun flexbox
boleh membantu). grid
display: none;
unset
anda boleh menambah atribut html
指标
效果
浏览器支持
极佳
可访问性
内容不会被读取
布局影响
是
渲染需求
布局
性能
差
动画帧
否
隐藏时触发事件
否
hidden
Ini akan menggunakan gaya lalai penyemak imbas: hidden
Ini mempunyai kelebihan dan kelemahan yang sama seperti <code class="language-html"><p hidden>隐藏内容</p></code>
<code class="language-css">[hidden] {
display: none;
}</code>
display: none
, position
Lihat Contoh top
bottom
left
::after
10
指标
效果
浏览器支持
极佳
可访问性
内容仍然会被读取
布局影响
否,如果绝对定位
渲染需求
绘制
性能
如果小心谨慎,则性能合理
动画帧
是,当覆盖伪元素或子元素时
隐藏时触发事件
是,当覆盖伪元素或子元素时
width
, dan/atau height
untuk meminimumkan saiz elemen. Anda juga mungkin perlu memohon padding
untuk memastikan bahawa kandungan tidak melimpah. border-width
font-size
overflow: hidden
Lihat Contoh transform
指标
效果
浏览器支持
极佳
可访问性
内容仍然会被读取
布局影响
是
渲染需求
布局
性能
差
动画帧
是
隐藏时触发事件
否
display: none
transform
opacity
(pautan demo sejuk mengenai cara menunjukkan dan menyembunyikan imej menggunakan CSS harus dimasukkan di sini)
Atas ialah kandungan terperinci 10 cara untuk menyembunyikan unsur -unsur di CSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!