Perspektif - Trik CSS

Anonim

The perspectiveproperti CSS memberikan elemen 3D-ruang dengan mempengaruhi jarak antara Z pesawat dan pengguna.

Kekuatan efek ditentukan oleh nilainya. Semakin kecil nilainya, semakin dekat Anda dari bidang Z dan semakin mengesankan efek visualnya. Semakin besar nilainya, semakin halus efeknya.

Penting: Harap dicatat bahwa properti perspektif tidak mempengaruhi bagaimana elemen tersebut dirender; ini hanya memungkinkan elemen ruang 3D untuk anak-anak. Inilah perbedaan utama antara transform: perspective()fungsi dan perspectiveproperti. Yang pertama memberikan kedalaman elemen sementara yang berikutnya membuat ruang 3D yang dibagikan oleh semua turunannya yang telah diubah.

/** * Syntax * perspective: none |  */ .parent ( perspective: 1000px; ) .child ( transform: rotateY(50deg); ) 
Lihat Pena ini!

Demo di atas bertujuan untuk menunjukkan perbedaan antara fungsi dan properti.

  • Di sisi kiri, Anda bisa melihat properti yang diterapkan ke induk ( perspective: 50em) dari elemen yang diubah ( transform: rotateY(50deg)).
  • Di sisi kanan, perspektif diterapkan dari transformasi langsung pada anak ( transform: perspective(50em) rotateY(50deg)).

Ini menunjukkan bagaimana pengaturan perspektif pada orang tua membuat semua anak berbagi ruang 3D yang sama dan dengan demikian titik hilang yang sama.

Mari kita coba sesuatu yang lebih keren: kubus dengan transformasi 3D dan perspektif.

Lihat Pena ini!

Berikut adalah cara membuat kubus: 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 transformasi pencampurannya sendiri yang menerjemahkan dan berputar dalam ruang 3D (misalnya transform: rotateX(90deg) translateZ(1em)).

Mari selesaikan dengan demo yang menampilkan apa yang bisa menjadi dasar desain dunia nyata: dinding foto + keterangan menggunakan perspektif dan transformasi.

Lihat Pena ini!

Saat melayang di atas dinding, anak-anak diputar kembali ke posisi normalnya, membatalkan efeknya.

Penting! Menggunakan perspektif (dengan nilai yang berbeda dari 0 atau tidak ada) membuat konteks susun baru.

Dukungan Browser

Chrome Safari Firefox Opera YAITU Android iOS
12+ Apa saja 10+ Tidak ada 10+ 3+ Apa saja

Firefox 10-15 membutuhkan -moz-, browser WebKit mungkin membutuhkan -webkit-