В perspective
CSS имота дава елемент на 3D-пространството, като засяга разстоянието между Z равнина и потребителя.
Силата на ефекта се определя от стойността. Колкото по-малка е стойността, толкова по-близо се приближавате от равнината Z и толкова по-впечатляващ е визуалният ефект. Колкото по-голяма е стойността, толкова по-фин ще бъде ефектът.
Важно: Моля, обърнете внимание, че свойството перспектива не влияе върху това как се изобразява елементът; той просто позволява 3D-пространство за детски елементи. Това е основната разлика между transform: perspective()
функцията и perspective
свойството. Първият дава дълбочина на елемента, докато по-късно създава 3D-пространство, споделено от всички негови трансформирани деца.
/** * Syntax * perspective: none | */ .parent ( perspective: 1000px; ) .child ( transform: rotateY(50deg); )
Вижте тази писалка!
Горната демонстрация има за цел да покаже разликата между функцията и свойството.
- От лявата страна можете да видите свойството, приложено към родителя (
perspective: 50em
) на трансформирани елементи (transform: rotateY(50deg)
). - От дясната страна перспективата се прилага от трансформацията директно върху деца (
transform: perspective(50em) rotateY(50deg)
).
Това показва как перспективата за настройка на родителя кара всички деца да споделят едно и също 3D пространство и по този начин една и съща точка на изчезване.
Нека опитаме нещо още по-хладно: куб с 3D трансформации и перспектива.
Вижте тази писалка!
Ето как е направен кубът: той разчита на две вложени обвивки (едната, за да даде на куба перспектива, и другата, която да увива всички страни) и 6 елемента, за да направи страните. На всеки елемент е дадено свое собствено преобразуване, смесване на превод и въртене в 3D-пространството (например transform: rotateX(90deg) translateZ(1em)
).
Нека завършим с демонстрация, включваща това, което би могло да бъде основата на реалния световен дизайн: стена от снимки + надписи, използващи перспектива и трансформация.
Вижте тази писалка!
Когато се навеждат над стената, децата се завъртат обратно в нормалното си положение, като отменят ефекта.
Важно! Използването на перспектива (със стойност, различна от 0 или никаква) създава нов контекст на подреждане.
Поддръжка на браузър
Chrome | Сафари | Firefox | Опера | IE | Android | iOS |
---|---|---|---|---|---|---|
12+ | Всякакви | 10+ | Нито един | 10+ | 3+ | Всякакви |
Firefox 10-15 се нуждае от -moz-, браузърите WebKit може да се нуждаят от -webkit-