perspective
CSS vara annab elemendile 3D-ruumi mõjutavate vahemaa Z lennuk ja kasutaja.
Mõju tugevuse määrab väärtus. Mida väiksem on väärtus, seda lähemale jõuate Z-tasapinnast ja seda muljetavaldavam on visuaalne efekt. Mida suurem on väärtus, seda peenem on efekt.
NB! Pange tähele, et perspektiivvara ei mõjuta elemendi renderdamist; see võimaldab lihtsalt 3D-ruumi laste elementidele. See on peamine erinevus transform: perspective()
funktsiooni ja perspective
omaduse vahel. Esimene annab elemendi sügavuse, teine loob 3D-ruumi, mida jagavad kõik selle ümberkujunenud lapsed.
/** * Syntax * perspective: none | */ .parent ( perspective: 1000px; ) .child ( transform: rotateY(50deg); )
Vaadake seda pliiatsit!
Ülaltoodud demo eesmärk on näidata funktsiooni ja omaduse erinevust.
- Vasakul küljel näete
perspective: 50em
teisendatud elementide (transform: rotateY(50deg)
) vanemale ( ) rakendatud omadust . - Paremal küljel rakendatakse perspektiivi teisendusest otse lastele (
transform: perspective(50em) rotateY(50deg)
).
See näitab, kuidas vanema perspektiivi seadmine paneb kõik lapsed jagama sama 3D-ruumi ja seega sama kaduvat punkti.
Proovime midagi veelgi lahedamat: 3D-teisenduste ja perspektiiviga kuup.
Vaadake seda pliiatsit!
Kuubi valmistamine toimub järgmiselt: see tugineb kahele pesastatud ümbrisele (ühele, mis annab kuubile perspektiivi ja teisele, et ümbritseda kõiki külgi) ja 6 elemendile, et teha külgi. Igale elemendile antakse oma teisendusmiks, mis tõlgib ja pöörleb 3D-ruumis (nt transform: rotateX(90deg) translateZ(1em)
).
Lõpetame demoga, mis sisaldab tõelise maailma kujunduse alust: fotode sein + pealdised, kasutades perspektiivi ja teisendust.
Vaadake seda pliiatsit!
Seina kohal hõljudes pööratakse lapsed tagasi tavapärasesse asendisse, tühistades efekti.
Tähtis! Perspektiivi kasutamine (väärtusega 0 või mitte muu) loob uue virnastamise konteksti.
Brauseri tugi
Chrome | Safari | Firefox | Ooper | IE | Android | iOS |
---|---|---|---|---|---|---|
12+ | Ükskõik | 10+ | Puudub | 10+ | 3+ | Ükskõik |
Firefox 10-15 vajab -moz-, WebKiti brauserid võivad vajada -webkit-