трехмерные трансформации — учебник CSS
С помощью 3D-трансформаций, появившихся в спецификации CSS3, есть возможность управлять поведением объекта по оси Z. Если говорить буквально, то данная ось расположена перпендикулярно экрану, т. е. по сути она смотрит зрителю в лицо.
Функции 3D-трансформации являются расширенными функциями двухмерных трансформаций, в которые добавлен параметр для оси Z. Этими функциями являются, например, translate3d()
, rotate3d()
, scale3d()
, а также одиночные записи, такие как translateZ()
, rotateZ()
, scaleZ()
.
Функция perspective()
Кроме всего прочего, в CSS3 была добавлена еще одна функция — perspective()
, которая может быть использована для создания эффекта перспективы, глубины в сцене. Перемещая элемент по оси Z с установленной перспективой, можно наблюдать, как он приближается или отдаляется от зрителя.
Итак, данная функция задает расстояние между плоскостью экрана и точкой сходимости линий. Масштабирование элемента пропорционально d/(d – Z), где d (значение перспективы) — это расстояние от графической плоскости до предполагаемого положения глаз зрителя:
Источник: www.w3.orgНа схеме показано, как масштабирование зависит от перспективы и значения Z. На верхнем рисунке Z составляет половину d. Для того, чтобы создать впечатление, что исходный круг (который нарисован сплошным контуром) стал ближе к зрителю (круг, нарисованный пунктиром), круг увеличивается в два раза (результат показан в качестве голубого круга). На нижнем рисунке круг уменьшен на одну треть, чтобы создать впечатление, что он отдалился от исходного положения и зрителя.
Без указания перспективы все точки в Z-пространстве сплюснуты в 2D-плоскости, и восприятие глубины будет отсутствовать как таковое. Для некоторых трансформаций, таких как перемещение (translate) по оси Z, функция перспективы играет важную роль, поскольку делает возможным передать визуальный эффект 3D-трансформации.
Ниже показаны примеры того, как выглядят элементы с перспективой и без:
Perspective-origin — точка отсчета
Для перспективы можно изменить точку отсчета при помощи свойства perspective-origin
. Оно словно задает точку расположения зрителя при взгляде на перспективу. По умолчанию эта точка находится в центре элемента, но можно определить координаты точки по осям X и Y, из которой наблюдатель будет смотреть на дочерние элементы:
Обратная сторона элемента: backface-visibility
Когда элемент вращается в 3D-пространстве вокруг горизонтальной или вертикальной оси, его обратная сторона по умолчанию видна (visible). При этом содержимое элемента с другой стороны отображается зеркально:
Источник: www.w3.orgНа примере выше правый квадрат повернут по оси Y на 180 градусов. Свойство backface-visibility
со значением visible
не скрывает содержимое блока, и оно отображается зеркально.
Но если установить для свойства backface-visibility
значение hidden
, то содержимое элемента будет скрыто с его обратной стороны (включая фон блока). По сути, объект будет невидим на экране, пока он повернут обратной стороной к зрителю.
Но эта возможность может пригодиться, если вам необходимо создать впечатление, что у объекта имеется две стороны. На примере ниже показано, как можно создать игральную карту, используя два фоновых изображения и свойство backface-visibility: hidden
. Повернув карту по оси Y на угол более 90 градусов, можно увидеть, как карта развернулась «рубашкой» к зрителю, а лицо карты при этом скрылось:
Эффект двухсторонней игральной карты на CSS3
(кликните по картинке, чтобы увидеть код)
Таковы особенности работы с 3D-пространством в CSS3. Рекомендуем самостоятельно попрактиковаться для лучшего понимания поведения трехмерных элементов. Также не забывайте про префиксы производителей — в реальном проекте их использование обязательно.
В следующем уроке вы узнаете, как заставить объекты плавно переходить от одного состояния к другому. Для этого мы изучим CSS3-свойство transition и все его значения.
Свойство перспективы CSS
❮ Назад Полное руководство по CSS Далее ❯
Пример
Придание трехмерному элементу некоторой перспективы:
#div1
{
перспектива: 100 пикселей;
}
Другие примеры «Попробуйте сами» ниже.
Определение и использование
Свойство перспектива
используется для придания 3D-позиционируемому элементу некоторого
перспектива.
Перспектива 9Свойство 0022 определяет, насколько далеко объект находится от пользователя.
Таким образом, более низкое значение приведет к более интенсивному 3D-эффекту, чем более высокое значение.
При определении свойства перспективы
для элемента это дочерние элементы
которые получают вид в перспективе, а НЕ сам элемент.
Подсказка: Также обратите внимание на свойство перспективы-происхождения, который определяет, в какой позиции пользователь смотрит на 3D-объект.
Чтобы лучше понять свойство перспективы, просмотреть демо.
Показать демо ❯
Значение по умолчанию: | нет |
---|---|
Унаследовано: | нет |
Анимация: | да. Читать о анимированном Попробуй |
Версия: | CSS3 |
Синтаксис JavaScript: | объект .style.perspective="50px" Попробуй |
Поддержка браузера
Числа в таблице указывают первую версию браузера, которая полностью поддерживает это свойство.
Числа, за которыми следует -webkit- или -moz-, указывают первую версию, которая работала с префиксом.
Собственность | |||||
---|---|---|---|---|---|
перспектива | 36,0 12,0 -вебкит- | 10,0 | 16,0 10,0 -мунц- | 9. 0 4.0.3 -вебкит- | 23,0 15,0 -вебкит- |
Синтаксис CSS
перспектива: длина |нет;
Значения свойств
Значение свойства | Описание | Демо |
---|---|---|
длина | Как далеко элемент расположен от вида | Демонстрация ❯ |
нет | Значение по умолчанию. То же, что и 0. Перспектива не задана | Демонстрация ❯ |
начальный | Устанавливает для этого свойства значение по умолчанию. Читать про начальный | |
унаследовать | Наследует это свойство от родительского элемента. Читать о унаследовать |
Другие примеры
Пример
Создайте куб и установите разные перспективы:
.ex1 {}
. ex2 {
перспектива: 150 пикселей;
}
Связанные страницы
Учебник CSS: 3D-преобразования CSS
Ссылка HTML DOM: свойство перспективы
❮ Предыдущая Полное руководство по CSS Далее ❯
ВЫБОР ЦВЕТА
Лучшие учебники
Учебное пособие по HTMLУчебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебник по SQL
Учебник по Python
Учебник по W3.CSS
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Лучшие ссылки
HTML ReferenceCSS Reference
JavaScript Reference
SQL Reference
Python Reference
W3.CSS Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
jQuery Reference
902 00 Лучшие примеры Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3. CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery
ФОРУМ | О
W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности. Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.
45 Примеры CSS 3D
Коллекция бесплатных примеров кода HTML и CSS 3D из Codepen, GitHub и других ресурсов. Обновление коллекции марта 2022 года. 16 новых предметов.
- 3D-эффекты jQuery
О коде
Санта в 3D-пиксельной сетке
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
3D мозаичный узор поля дымоходов
Без разд. Чистый CSS.
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
Невозможная иллюзия водопада — чистый CSS
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
Адвент-календарь 3D
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
Трехмерная расколотая пирамида
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: нет
Зависимости: -
О коде
3D-пиксельная сетка
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
3D-сфера с анимацией заполнения
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: нет
Зависимости: -
О коде
3D Грузовик с мороженым
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
С код
ЕШЬТЕ, СПИТЕ, РЕЙВ — ВРАЩАЙТЕСЬ В 3D
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
3D милый лев
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
Анимированный 3D-джедай
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
Анимированная 3D-пчела
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
3D CSS: интерактивный контроллер SNES
Интерактивный контроллер Super Nintendo Entertainment System (SNES), написанный на HTML и CSS.
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
Карусель карточек на 3D-кубе — только CSS
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: нет
Зависимости: -
О коде
Унесенные призраками бани — 3D CSS
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
Дар CSS
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
Дополнительные штрихи
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
С код
150 мл ванили CSS
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
Кафе-мороженое 3D в CSS
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
CSS в 3D в CSS
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: нет
Зависимости: -
О коде
пузырьковый
Чистые 3D-пузыри CSS.
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: нет
Зависимости: -
О коде
3D iMac — только CSS
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
Великая пирамида в Гизе — 3D модель — Pure CSS
3D-модель Великой египетской пирамиды Хеопса в Гизе. Откройте для себя возможности 3D-моделирования с помощью CSS.
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
Взорвать узел A: 3D-модель коробки
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: да
Зависимости: -
О коде
Pure CSS 3D Shaded вращающийся золотой
Создайте свой собственный, изменив var
s в 1-й строке Pug.
Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari
Ответ: нет
Зависимости: -
О коде
CSS 3D-гитара с 5 вариантами текстуры
CSS 3D Guitar — модель гитары, созданная с использованием Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: да Зависимости: - Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: да Зависимости: - Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: да Зависимости: - Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Отвечает: да Зависимости: - Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: да Зависимости: - Винтажная клавиатура Casio PT-1, полностью нарисованная с помощью HTML и CSS; используя Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: нет Зависимости: - Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: да Зависимости: - Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: нет Зависимости: - Скевоморфные кнопки с реалистичным 3D-эффектом. Скевоморфизм использовался в более ранних iPhone и благодаря этому стал популярным и для дизайна пользовательского интерфейса. В основном он устарел из-за плоского дизайна, поскольку скевоморфные элементы сложнее создавать, поддерживать и масштабировать на разных платформах. Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: нет Зависимости: - Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: да Зависимости: - Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: нет Зависимости: - Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Отвечает: да Зависимости: - Трехмерный перспективный куб только с CSS, использующий CSS Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: нет Зависимости: - Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: да Зависимости: - Небольшой забавный эксперимент по созданию HUD (индикатора на лобовом стекле) на чистом CSS и его анимации без использования JavaScript. Двигайте мышью, чтобы отображался HUD. При удалении мыши она по умолчанию возвращается в верхнее левое положение. Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: да Зависимости: - Некоторые приятные 3D-преобразования на некоторых милых фиолетовых Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: нет Зависимости: - Временная шкала градиента CSS3 с 3D-эффектом при наведении Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: да Зависимости: font-awesome.css Совместимые браузеры: Chrome, Edge, Firefox, Opera, Safari Ответ: нет Зависимости: - Геометрические фигуры анимируются с интервалами с анаглифическим 3D-эффектом с использованием только CSS. mask-image
, background-image
и transform
свойства. Дизайн создан из элементов
О коде
3D-комната — чистый CSS
О коде
Современный 3D-дом — чистый CSS
О коде
Кабина CSS
О коде
3D-принтер
О коде
CasioPT-1.
css div
с, градиент
с и box-shadow
с. О коде
Город
О коде
3D-куб (преобразование CSS3)
О коде
Скевоморфные кнопки
О коде
Чистая буква CSS T
О коде
3D-эффект наведения
О коде
Чистый CSS 3D
О коде
3D куб CSS
path-clip
. О коде
Клип-Путь 3D
О коде
3D HUD в космосе — чистый CSS
О коде
Изометрические башни Pure CSS
div
s. О коде
Временная шкала CSS3 с 3D-эффектом
div
. О коде
3D CSS и SVG T-REX
О коде
Анимированный анаглифический 3D-эффект с CSS