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-