perspective
CSS özelliği bir elemanının, Z düzleminde ve kullanıcı arasındaki mesafeyi etkileyen bir 3D-space verir.
Etkinin gücü değere göre belirlenir. Değer ne kadar küçükse, Z düzleminden o kadar yakınlaşır ve görsel efekt o kadar etkileyici olur. Değer ne kadar büyükse, etki o kadar ince olacaktır.
Önemli: Perspektif özelliğinin öğenin nasıl işlendiğini etkilemediğini lütfen unutmayın; basitçe çocuk öğeleri için bir 3 boyutlu alan sağlar. Bu, transform: perspective()
işlev ve perspective
özellik arasındaki temel farktır . İlki öğe derinliği verirken, daha sonra dönüştürülmüş tüm çocukları tarafından paylaşılan bir 3B alan yaratır.
/** * Syntax * perspective: none | */ .parent ( perspective: 1000px; ) .child ( transform: rotateY(50deg); )
Bu Kaleme bakın!
Yukarıdaki demo, işlev ve mülk arasındaki farkı göstermeyi amaçlamaktadır.
- Sol tarafta,
perspective: 50em
dönüştürülmüş öğelerin (transform: rotateY(50deg)
) parent ( ) öğesine uygulanan özelliği görebilirsiniz . - Sağ tarafta, perspektif dönüşümden doğrudan çocuklara (
transform: perspective(50em) rotateY(50deg)
) uygulanır.
Bu, ebeveyn üzerinde perspektif belirlemenin tüm çocukları nasıl aynı 3B alanı ve dolayısıyla aynı ufuk noktasını paylaştığını gösterir.
Daha da havalı bir şey deneyelim: 3D dönüşümlere ve perspektife sahip bir küp.
Bu Kaleme bakın!
Küp şu şekilde yapılır: iki iç içe sarmalayıcıya (biri küp perspektifini vermek ve diğeri tüm kenarları sarmak için) ve yanları yapmak için 6 öğeye dayanır. Her elemana, 3B uzayda (örneğin transform: rotateX(90deg) translateZ(1em)
) kendi dönüştürme karıştırma çevirisi ve dönüşü verilir .
Gerçek dünya tasarımının temelini oluşturan bir demo ile bitirelim: perspektif ve dönüşümü kullanan fotoğraflar + başlıklar duvarı.
Bu Kaleme bakın!
Duvarın üzerinden geçerken çocuklar, etkiyi iptal ederek normal konumlarına döndürülür.
Önemli! Perspektif kullanmak (0'dan farklı bir değere sahip veya hiçbiri) yeni bir yığınlama bağlamı oluşturur.
Tarayıcı Desteği
Krom | Safari | Firefox | Opera | IE | Android | iOS |
---|---|---|---|---|---|---|
12+ | Hiç | 10+ | Yok | 10+ | 3+ | Hiç |
Firefox 10-15 gerekiyor -moz-, WebKit tarayıcıları -webkit- gerektirebilir