perspective
CSS ominaisuus antaa elementin 3D-avaruuden vaikuttamalla etäisyys Z-taso ja käyttäjän.
Vaikutuksen voimakkuus määräytyy arvon perusteella. Mitä pienempi arvo, sitä lähempänä pääset Z-tasosta ja sitä vaikuttavampi visuaalinen vaikutus. Mitä suurempi arvo, sitä hienovaraisempi vaikutus on.
Tärkeää: Huomaa, että perspektiiviominaisuus ei vaikuta elementin hahmontamiseen; se yksinkertaisesti mahdollistaa 3D-tilan lasten elementeille. Tämä on tärkein ero transform: perspective()
funktion ja perspective
ominaisuuden välillä. Ensimmäinen antaa elementin syvyyden, kun taas jälkimmäinen luo 3D-avaruuden, jonka jakavat kaikki muunnetut lapset.
/** * Syntax * perspective: none | */ .parent ( perspective: 1000px; ) .child ( transform: rotateY(50deg); )
Katso tämä kynä!
Yllä olevan esittelyn tarkoituksena on näyttää funktion ja ominaisuuden välinen ero.
- Vasemmalla puolella näet
perspective: 50em
muunnettujen elementtien (transform: rotateY(50deg)
) vanhemmalle ( ) sovelletun ominaisuuden . - Oikealla puolella perspektiiviä sovelletaan muunnoksesta suoraan lapsiin (
transform: perspective(50em) rotateY(50deg)
).
Tämä osoittaa, kuinka vanhemman näkökulman asettaminen saa kaikki lapset jakamaan saman 3D-tilan ja siten saman katoavan pisteen.
Kokeillaan jotain vielä viileämpää: kuutio, jossa on 3D-muunnokset ja perspektiivi.
Katso tämä kynä!
Näin kuutio valmistetaan: se perustuu kahteen sisäkkäiseen kääreeseen (yksi antaa kuution perspektiivin ja toinen kääriä kaikki sivut) ja 6 elementtiin sivujen muodostamiseksi. Jokaiselle elementille annetaan oma muunnosseos, joka kääntyy ja kiertää 3D-tilassa (esim. transform: rotateX(90deg) translateZ(1em)
).
Lopuksi demo, joka sisältää tosielämän suunnittelun perustan: valokuvaseinä + kuvatekstit perspektiiviä ja muunnosta käyttäen.
Katso tämä kynä!
Kun leijuu seinän yli, lapset käännetään takaisin normaaliin asentoonsa, jolloin vaikutus poistetaan.
Tärkeä! Perspektiivin käyttö (arvo on erilainen kuin 0 tai ei mitään) luo uuden pinontakontekstin.
Selaimen tuki
Kromi | Safari | Firefox | Ooppera | IE | Android | iOS |
---|---|---|---|---|---|---|
12+ | Minkä tahansa | 10+ | Ei mitään | 10+ | 3+ | Minkä tahansa |
Firefox 10-15 tarvitsee -moz-, WebKit-selaimet saattavat tarvita -webkit-