perspective
CSS svojstvo daje element 3D-prostor koji utječu udaljenost između Z avion i korisnika.
Snaga učinka određuje se prema vrijednosti. Što je vrijednost manja, približavate se Z ravnini i vizualni efekt je impresivniji. Što je vrijednost veća, učinak će biti suptilniji.
Važno: Imajte na umu da svojstvo perspektive ne utječe na način prikaza elementa; jednostavno omogućuje 3D-prostor za dječje elemente. To je glavna razlika između transform: perspective()
funkcije i perspective
svojstva. Prva daje dubinu elementa, dok druga stvara 3D-prostor koji dijele sva njegova transformirana djeca.
/** * Syntax * perspective: none | */ .parent ( perspective: 1000px; ) .child ( transform: rotateY(50deg); )
Pogledajte ovu olovku!
Gornji demo ima za cilj pokazati razliku između funkcije i svojstva.
- Na lijevoj strani možete vidjeti svojstvo primijenjeno na roditelja (
perspective: 50em
) transformiranih elemenata (transform: rotateY(50deg)
). - S desne strane perspektiva se primjenjuje iz pretvorbe izravno na djecu (
transform: perspective(50em) rotateY(50deg)
).
To pokazuje kako postavljanje perspektive na roditelja čini da sva djeca dijele isti 3D prostor, a time i istu točku nestajanja.
Isprobajmo nešto još hladnije: kocku s 3D transformacijama i perspektivom.
Pogledajte ovu olovku!
Evo kako je izrađena kocka: oslanja se na dva ugniježđena omota (jedan koji daje kocki perspektivu, a drugi za umotavanje svih stranica) i 6 elemenata za izradu stranica. Svaki element dobiva svoju transformaciju miješanjem prevođenja i rotiranja u 3D prostoru (npr transform: rotateX(90deg) translateZ(1em)
.).
Završimo s demonstracijom koja prikazuje ono što bi moglo biti osnova dizajna iz stvarnog svijeta: zid od fotografija + naslovi pomoću perspektive i transformacije.
Pogledajte ovu olovku!
Kada lebde iznad zida, djeca se vraćaju u svoj normalni položaj, poništavajući učinak.
Važno! Korištenje perspektive (s vrijednošću koja se razlikuje od 0 ili nijedna) stvara novi kontekst slaganja.
Podrška preglednika
Krom | Safari | Firefox | Opera | IE | Android | iOS |
---|---|---|---|---|---|---|
12+ | Bilo koji | 10+ | Nijedna | 10+ | 3+ | Bilo koji |
Firefoxu 10-15 treba -moz-, WebKit preglednicima možda treba -webkit-