The perspective
harta CSS memberikan unsur 3D-ruang dengan memberi kesan jarak antara pesawat Z dan pengguna.
Kekuatan kesan ditentukan oleh nilai. Semakin kecil nilainya, semakin dekat anda dari satah Z dan kesan visualnya semakin hebat. Semakin besar nilainya, semakin halus kesannya.
Penting: Harap maklum bahawa sifat perspektif tidak mempengaruhi bagaimana elemen diberikan; ia hanya membolehkan elemen ruang 3D untuk kanak-kanak. Ini adalah perbezaan utama antara transform: perspective()
fungsi dan perspective
harta benda. Yang pertama memberikan kedalaman elemen sementara yang terakhir mewujudkan ruang 3D yang dikongsi oleh semua anak-anaknya yang berubah.
/** * Syntax * perspective: none | */ .parent ( perspective: 1000px; ) .child ( transform: rotateY(50deg); )
Lihat Pen ini!
Demo di atas bertujuan untuk menunjukkan perbezaan antara fungsi dan harta benda.
- Di sebelah kiri, anda dapat melihat harta yang diterapkan pada induk (
perspective: 50em
) elemen yang diubah (transform: rotateY(50deg)
). - Di sebelah kanan, perspektif diterapkan dari transformasi secara langsung pada kanak-kanak (
transform: perspective(50em) rotateY(50deg)
).
Ini menunjukkan bagaimana perspektif menetapkan ibu bapa menjadikan semua anak berkongsi ruang 3D yang sama dan dengan itu titik hilang yang sama.
Mari cuba sesuatu yang lebih sejuk: sebuah kubus dengan transformasi dan perspektif 3D.
Lihat Pen ini!
Inilah cara kiub dibuat: ia bergantung pada dua pembungkus bersarang (satu untuk memberikan perspektif kubus dan satu untuk membungkus semua sisi) dan 6 elemen untuk membuat sisi. Setiap elemen diberi pencampuran transformasi sendiri yang menerjemahkan dan berputar di ruang 3D (mis transform: rotateX(90deg) translateZ(1em)
.
Mari kita selesaikan dengan demo yang menampilkan asas reka bentuk dunia nyata: dinding gambar + kapsyen menggunakan perspektif dan transformasi.
Lihat Pen ini!
Semasa melayang di atas dinding, anak-anak dipusingkan kembali ke posisi normal, membatalkan kesannya.
Penting! Menggunakan perspektif (dengan nilai yang berbeza dari 0 atau tidak ada) membuat konteks susun baru.
Sokongan Penyemak Imbas
Chrome | Safari | Firefox | Opera | IE | Android | iOS |
---|---|---|---|---|---|---|
12+ | Sebarang | 10+ | Tiada | 10+ | 3+ | Sebarang |
Firefox 10-15 memerlukan -moz-, penyemak imbas WebKit mungkin memerlukan -webkit-