какой параметр компонента transform влияет на размеры объекта

Трансформации

Редактирование трансформаций

Компоненты Transform управляются в 3D пространстве по осям X, Y, и Z, или в 2D пространстве просто по X и Y. В Unity эти оси представлены красным, зелёным и синим цветами соответственно.

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объектаA transform showing the color-coding of the axes

Transform может быть изменён в окне Scene или путём изменения параметров в инспекторе. В сцене вы можете изменять Transform используя инструменты Translate, Rotate и Scale (двигать, вращать и масштабировать). Эти инструменты расположены в верхнем левом углу редактора Unity.

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объектаThe View, Translate, Rotate, and Scale tools

Эти инструменты можно применить к любому объекту в сцене. Когда вы кликнете на объект, вы увидите, что у объекта появится гизмо инструмента. Вид гизмо зависит от выбранного инструмента.

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объектаTransform gizmo

When you click and drag on one of the three gizmo axes, you will notice that its color changes to yellow. As you drag the mouse, you will see the object translate, rotate, or scale along the selected axis. When you release the mouse button, the axis remains selected.

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объектаTransfrom с выделенной (жёлтой) осью X

Наследование

Вы можете создать родительский объект перетягиванием любого GameObject’а в окне Hierarchy на другой объект. Это создаст связь родительский-дочерний между двумя игровыми объектами.

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объектаExample of a Parent-Child hierarchy. GameObjects with foldout arrows to the left of their names are parents.

Учтите, что значения Transform в инспекторе для любого дочернего объекта показаны относительно значений Transform родительского объекта. Эти значения известны как локальные координаты. Возвращаясь к аналогии тела и рук, положение вашего тела может изменяться по мере ходьбы, но ваши руки будут присоединены в одном и том же месте относительно тела. Для построения сцены обычно достаточно работать с локальными координатами для дочерних объектов, но во время игрового процесса зачастую полезно найти их точное положение в мировом пространстве или их мировые координаты. API скриптинга для компонента Transform имеет отдельные настройки для локальных и мировых координат.

Проблемы производительности и ограничения неравномерного (Non-Uniform) масштабирования

Важность масштаба

Есть 3 фактора которые могут повлиять на масштаб вашего объекта:

В идеале, вам не надо настраивать параметр Scale вашего объекта в компоненте Transform. Лучшим вариантом является создание моделей реалистичного размера, таким образом, чтобы вам не пришлось менять масштаб. Следующим лучшим вариантом является настройка масштаба в настройках Import Settings импортированного меша, для конкретного меша. Некоторые оптимизации производятся на основе размера при импорте, и создание экземпляра объекта с изменённым значением масштаба может снизить производительность. Для дополнительной информации, прочитайте раздел об оптимизации масштаба на странице справки по компоненту Rigidbody.

Источник

Трансформация элементов

Трансформация объектов доступна в таких дизайнерских программах, как Adobe Photoshop или Adobe Illustrator, причем существует в них в незапамятных времен. Как css-свойство transform появилось только в версии CSS3, и сразу же пришлось многим верстальщикам «по сердцу», особенно в паре со свойством transition, позволяющим назначать анимацию средствами css.

transform

CSS-свойство transform подразумевает использование одной или нескольких функций:

Если масштабирование необходимо выполнить по одной из осей, можно использовать функцию scaleX(значение) или scaleY(значение):

Можно масштабировать элемент с разными пропорциями по оси X и Y сразу, указывая 2 значения через запятую в скобках:

Также часто применяют масштабирование элементов вместе с анимацией (так называемые hover-эффекты, или эффекты при наведении):

Как это выглядит на практике можно посмотреть в примере ниже:

Поворот rotate()

Для того чтобы повернуть элемент, необходимо использовать функцию rotate(угол). Угол можно указывать в нескольких единицах:

В коде использование этой функции будет выглядеть так:

Обратите внимание на последний пример: при повороте текст элемента поворачивается в ту же сторону, что и сам элемент. Если же текст нужно «вернуть на место», то для вложенного элемента нужно задать такой же угол поворота, но с отрицательным значением:

В градусах (deg), градах (grad) или радианах (rad) также измеряется и скос, или искажение сторон, элемента. За это преобразование отвечает функция skew():

Наглядная демонстрация использования трансформации скоса (наклона) в примере:

Смещение translate()

Очень удобное свойство, которое позволяет смещать элементы, которые не позиционированы абсолютно или относительно. В качестве аргументов можно указывать число в %, px, em, rem и т.п., причем как положительные, так и отрицательные. В случае использования % величина смещения берется от ширины или высоты элемента.

Источник

Трансформация

Свойство transform поставляется в двух разных наборах — двумерных и трёхмерных. В каждом из них есть свои индивидуальные свойства и значения.

В этом уроке мы рассмотрим как двумерные, так и трёхмерные преобразования. Вообще говоря, поддержка браузера для свойства transform не велика, но она становится всё лучше с каждым днем. Для большей поддержки рекомендуются вендорные префиксы, однако вам может понадобиться загрузить последнюю версию Chrome, чтобы увидеть все эти преобразования в действии.

Синтаксис transform

В интересах краткости, остальная часть этого урока не включает префиксы. Они, однако, настоятельно рекомендуется для любого кода в производственной среде. Со временем мы сможем убрать эти префиксы, однако для безопасного подхода оставляйте их в данный момент.

Двумерная трансформация

Элементы могут быть искажены или преобразованы как в двух, так и в трёх плоскостях. Двумерные преобразования работают по осям х и у, известных как горизонтальная и вертикальная оси. Трёхмерные преобразования работают по осям х и у, а также оси z. Эти трёхмерные преобразования помогают определить не только длину и ширину элемента, но и глубину. Мы начнем с обсуждения, как трансформировать элементы в двумерной плоскости, а затем перейдём к работе с трёхмерными преобразованиями.

2d rotate

Свойство transform принимает несколько разных значений. Значение rotate обеспечивает возможность поворота элемента от 0 до 360 градусов. Положительное значение поворачивает элемент по часовой стрелке, а использование отрицательного значения поворачивает элемент против часовой стрелки. По умолчанию точкой поворота является центр элемента, 50% 50%, по горизонтали и вертикали. Позже мы обсудим как вы можете изменить эту точку поворота.

Демонстрация rotate

Серый квадрат за повёрнутым элементом символизирует исходное положение элемента. Кроме того, при наведении курсора мыши на блок он будет вращаться на 360 градусов по горизонтали. По ходу урока следите за серым квадратом в каждой демонстрации в качестве указателя на исходное положение элемента и горизонтальное вращение, которые помогают продемонстрировать изменения элемента и глубину.

2d scale

Демонстрация scale

Демонстрация множественного масштабирования

2d translate

Значение translate работает несколько похоже на относительное позиционирование, толкает и тянет элемент в разных направлениях, не прерывая обычного потока документа. Использование значения translateX изменит положение элемента по горизонтальной оси, значение translateY изменит положение элемента по вертикальной оси.

Демонстрация translate

2d skew

Значение skew измеряется в градусах. Единицы длины, такие как пиксели или проценты, здесь не применимы.

Демонстрация skew

Комбинация трансформаций

Типично использовать несколько преобразований за раз, к примеру, поворот и масштабирование размера элемента одновременно. В этом случае несколько преобразований могут быть скомбинированы вместе. Для их объединения значения идут списком в свойстве transform один за другим без использования запятых.

Применение нескольких деклараций transform не будет работать, так как каждая декларация перезапишет всё над ним. Поведение в этом случае такое же, как если бы вы установили height для элемента несколько раз.

Демонстрация комбинации транформаций

Демонстрация двумерного куба

Точка трансформации

Свойство transform-origin может принимать одно или два значения. Когда задано только одно значение, то оно используется для горизонтальной и вертикальной осях. Если указаны два значения, то первое применяется для горизонтальной оси, а второе для вертикальной.

Демонстрация transform-origin

Следует отметить, что свойство transform-origin в действительности порождает некоторые проблемы, когда одновременно применяется значение translate у трансформации. Так как они оба пытаются позиционировать элемент, их значения могут вступать в противоречие. Используйте их с осторожностью, лишний раз убедившись что получен желаемый результат.

Перспектива

Чтобы трёхмерные преобразования работали, элементы нуждаются в перспективе, относительно которой происходит трансформация. Перспектива для каждого элемента может быть представлена как точка схождения, подобно тому, что можно увидеть в трёхмерных чертежах.

Перспектива для элемента может быть задана двумя разными способами. Один из них включает в себя использование значения perspective в свойстве transform для отдельных элементов, а другой включает в себя использование свойства perspective для родительского элемента, внутри которого трансформируются дочерние элементы.

Использование значения perspective в свойстве transform прекрасно работает для преобразования одного элемента относительно единичной уникальной перспективы. Если вы желаете преобразовать группу элементов с одинаковой перспективой или точкой схода, то применяйте свойство perspective для их родительского элемента.

Демонстрация значения perspective

В следующем примере показано несколько элементов рядом друг с другом, все преобразованы с использованием одной перспективы, добавленной с помощью свойства perspective к их прямому родительском элементу.

Демонстрация свойства perspective

Глубина перспективы

В качестве значения перспективы может быть задано none или длина. Значение none отключает любую перспективу, в то время как значение длины установит глубину перспективы. Чем выше значение, тем дальше вид перспективы, создавая тем самым перспективу довольно низкой интенсивности и небольшое трёхмерное изменение. Низкое значение приближает вид перспективы, тем самым создавая перспективу высокой интенсивности и большое трёхмерное изменение.

Представьте что вы стоите в трёх метрах от трёхметрового куба и сравните его с тем же кубом, стоя в 300 метрах от него. На трёх метрах ваше расстоянии до куба такое же, что и размеры куба, поэтому сдвиг перспективы значительно больше, чем на расстоянии 300 метров, где размеры куба составляют лишь одну сотую вашего расстояния до куба. Те же самые размышления применяются к значениям глубины перспективы.

Демонстрация глубины перспективы

Начало перспективы

Демонстрация perspective-origin

Трёхмерная трансформация

Работая с двумерной трансформацией мы можем менять элементы по горизонтальной и вертикальной осям, однако есть и другая ось, вдоль которой мы можем трансформировать элементы. С помощью трёхмерных преобразований мы можем менять элементы по оси z, что даёт нам контроль глубины, а также длины и ширины.

3d rotate

Значение rotateX позволяет поворачивать элемент вокруг оси х, как будто он сгибается пополам по горизонтали. Значение rotateY позволяет поворачивать элемент вокруг оси у, как будто он сгибается пополам по вертикали. И, наконец, значение rotateZ позволяет вращать элемент вокруг оси z.

Демонстрация 3d rotate

3d scale

Демонстрация 3d scale

3D translate

Демонстрация 3d translate

3D skew

skew является единственной двумерной трансформацией, которая не может быть преобразована в трёхмерном масштабе. Элементы могут быть наклонены по осям х и у, затем преобразованы трёхмерно как хотелось бы, но они не могут быть наклонены по оси z.

Сокращённые трёхмерные трансформации

transform-style

Свойство transform-style должно быть добавлено к родительскому элементу, выше любых вложенных преобразований. Значение preserve-3d позволяет преобразованным дочерним элементам появляться в их собственной трёхмерной плоскости, в то время как значение flat заставляет преобразованные дочерние элементы лежать в двухмерной плоскости.

Демонстрация transform-style

Чтобы увидеть дополнительный пример использования свойства transform-style в действии прочитайте объяснение WebKit.

backface-visibility

Источник

Сочетание CSS-свойств: transform, translate, rotate, scale и offset

Эти новые свойства доступны в Firefox 72+. Отдельные свойства Motion path есть в браузерах Chromium, а некоторые свойства преобразования скрываются за флажком Experimental Web Platform Features.

Сила свойства transform в поддержке любого количества преобразований. Оно может содержать несколько перемещений, поворотов, масштабов, перекосов и изменений перспективы. Если объединять их в разном порядке, то можно получать различные эффекты.

Основы преобразований

Когда выполняется преобразования, то сам элемент технически остается неизменным. Трансформации влияют только на его систему координат. Таким образом, вращение поворачивает его по осям x и y. Для преобразования, которое поворачивает элемент на 45 градусов, а затем применяет перевод на 100 пикселей вправо, реальное движение не будет горизонтальным вправо. Вправо элемент начнёт перемещение от уже измененной при повороте системы координат: вниз и вправо под углом 45 градусов.

Какие возможности предоставляют отдельные свойства преобразования?

На первый взгляд можно было бы ожидать, что элемент будет повернут на 10 градусов ( rotate ), а затем при наведении курсора добавит к исходному преобразованию масштабирование ( scale ). Однако, свойство transform будет переопределено, поэтому вращение потеряется при наведении курсора. По мере того, как усложняются различные состояния или взаимодействия, может быть тяжело поддерживать все желаемые варианты преобразований.

С отдельными свойствами преобразования можно добавлять или удалять отдельные трансформации, не влияя на остальные. Таким образом, можно немного изменить код и получить желаемый результат, в котором элемент при наведении одновременно поворачивается и масштабируется.

Теперь можно применить transition или анимацию по отдельности. В этом примере масштабирование и перемещение изменяются при наведении курсора с разной продолжительностью и задержкой. Поворот не выполняется в transition и не влияет на анимации двух других свойств.

Есть ли ограничения?

Эти свойства всегда применяются в одном и том же порядке, и они появляются перед всем остальным в свойстве transform :

Свойство offset

Поддержка отдельных свойств преобразований в вашем браузере

translate
rotate
scale
offset-anchor
offset-distance
offset-path
offset-position
offset-rotate

Источник

Свойство transform

Свойство CSS transform позволяет визуально преобразовать элемент в двухмерном или трехмерном пространстве. С помощью преобразования элементы могут быть перемещены, повернуты и масштабированы в двух или трехмерном пространстве.

Система координат

Каждый элемент в CSS имеет систему координат, начало которой размещается в левом верхнем углу элемента.

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

С помощью свойства transform-origin можно указать, куда необходимо перенести начало координат. В зависимости от эффекта преобразования используются различные исходные положения преобразования.

Если с помощью свойства transform вы вращаете или наклоняете элемент, то же самое происходит с системой координат, и все последующие преобразования будут применяться на основе новой системы координат. Поэтому порядок преобразований имеет значение, разные последовательности приведут к различным преобразованиям. Это имеет смысл, потому что преобразования переводятся в матрицы, а умножение двух матриц в математике дает разные результаты в зависимости от порядка этих матриц. Например, а х b не дает тот же результат, что b х а ( если ни одна из них не является единичной ).

Если нужно переместить элемент с помощью CSS text transform в другое положение и повернуть его в новом положении, вы должны сделать это в указанном порядке: переместить, а затем повернуть. Если вы повернете элемент, то повернется его система координат, и перемещение в определенном направлении не приведет к ожидаемому результату.

Примечания

Хотя некоторые значения свойства transform позволяют преобразовывать элемент в трехмерной системе координат, сами элементы не являются трехмерными. Они существуют в двухмерной плоскости ( плоская поверхность ) и не имеют глубины.

Официальный синтаксис

Примечания

— это список из функций преобразования.

Значения

Можно применить к элементу преобразование, используя одно из следующих значений свойства transform :

Некоторые из этих функций используются для применения двухмерных преобразований, другие — для трехмерных преобразований.

Функции 2D-преобразований:

translate()

Положительное значение смещения перемещает элемент в направлении оси, а отрицательное значение — в направлении, противоположном направлению оси.

Результат применения к элементу смещения:

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

translateX()

translateY()

scale()

Если указанное значение больше единицы, то элемент растягивается — он будет выглядеть больше в соответствующем направлении. Если значение равно единице, то элемент остается без изменений ( в соответствующем направлении ).

Обратите внимание, как изображения накладываются друг на друга, так как преобразование каждого из них не влияет на поток контента вокруг него:

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

Следующее изображение является результатом применения преобразования CSS transform scale ( и его вариаций ) с отрицательными значениями:

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

scaleX()

scaleY()

Отрицательные значения допустимы, но они не изменяют размеров элемента. Фактически они задают поворот преобразуемого элемента по вертикали ( как будто он поворачивается вокруг оси x ).

rotate()

Положительное значение задает вращение элемента по часовой стрелке. Отрицательное значение — против часовой стрелки.

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

skewX()

На приведенном ниже рисунке показан результат применения к изображению skewX() с положительным, а затем с отрицательным углом одной и той же величины:

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

skewY()

На следующем рисунке показан результат применения к изображению skewY() с положительным, а затем с отрицательным углом одной и той же величины:

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

Следует помнить, что наклон элемента также искажает его систему координат.

matrix()

Функция matrix() используется для указания двухмерной матрицы преобразования. Она может быть использована для объединения нескольких преобразований в одно. Например, вместо использования двух ( или более ) функций преобразования ( смотрите выше ) в одном объявлении, например, следующим образом:

С помощью функции CSStransform matrix можно объединить эти два преобразования в одну матрицу:

Функции 3D-преобразования:

translateZ()

translate3d()

Положительные значения перемещают элемент вдоль положительного направления осей, а отрицательные значения — в противоположном направлении.

scaleZ()

Обратите внимание, что второй элемент выглядит больше, потому что его позиция по оси z была уменьшена, так как была уменьшена сама ось. Он выглядит расположенным ближе к вам и, следовательно, больше. Но его фактические ширина и высота не изменились:

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

scale3d()

rotate3d()

Положительное значение угла задает вращение элемента по часовой стрелке вдоль соответствующей оси, а отрицательное значение — против часовой стрелки вдоль этой оси.

На следующем рисунке показаны положительные направления вращения ( по часовой стрелке ) по трем осям:

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

Первые три параметра rotate3d() указывают направление вектора, вдоль которого будет происходить вращение, а угол — указывает направление: по часовой стрелке по вектору или против часовой стрелки.

На следующем рисунке показан результат применения к изображению преобразования rotate3d (1, 1, 1, 50deg); :

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

rotateX()

Функция rotateX() используется для вращения элемента вокруг оси х в трехмерном пространстве. Это эквивалентно:

где CSS transform rotate3d — это функция преобразования, используемая для вращения элемента в трехмерном пространстве.

Функция принимает в качестве значение угол. Элемент поворачивается на указанное значение вокруг оси х. Если значение положительное, элемент поворачивается по часовой стрелке, если отрицательное элемент — против часовой. Направление по часовой стрелке определяется, если смотреть на ось х с конца (где, как правило, размещается стрелка указателя направления) на начало координат.

На следующем рисунке показан результат применения к изображению rotateX(50deg) и rotateX(-50deg) :

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

rotateY()

Функция rotateY() используется для вращения элемента вокруг оси y в трехмерном пространстве. Это эквивалентно:

где rotate3d — это функция преобразования, используемая для вращения элемента в трехмерном пространстве.

На следующем рисунке показан результат применения к изображению rotateY(50deg) и rotateY(-50deg) :

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

rotateZ()

Функция CSS transform rotateZ() используется для вращения элемента вокруг оси z в трехмерном пространстве. Это эквивалентно:

где rotate3d — это функция преобразования, используемая для вращения элемента в трехмерном пространстве.

Примеры:

На следующем рисунке показан результат применения к изображению rotateZ(50deg) и rotateZ(-50deg) :

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

matrix3d()

Например, вместо того, чтобы использовать две ( или более ) функции преобразования в одном объявлении следующим образом:

Можно объединить эти два преобразования в одну матрицу с помощью функции CSS transform matrix3d() :

perspective()

Техническое описание:

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

Функция CSS transform perspective() используется, чтобы задать глубину элемента, делая элементы, расположенные выше по оси z ( ближе к зрителю ), выглядящими больше, а элементы, расположенные дальше — выглядящими меньше. Чем меньше значение, тем ближе плоскость z к зрителю и тем больше выражен эффект. Чем выше значение, тем дальше от экрана расположен элемент и тем меньше наблюдаются изменения в перспективе.

Функция perspective() используется для активации трехмерного пространства, когда вы применяете к элементу трехмерное преобразование, используя любую из перечисленных выше функций. Указание перспективы важно, иначе трехмерный эффект будет выглядеть плоским и двухмерным.

В этой статье мы сосредоточимся на использовании perspective() при применении к элементу преобразования в трехмерном пространстве, без перспективы, задаваемой для его контейнера.

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

Функция perspective() принимает в качестве параметра значение длины. Чем меньше его значение, тем ближе плоскость z от зрителя, и тем более заметен эффект. Чем выше значение, тем дальше элемент от экрана и менее заметен эффект. На следующем рисунке показан результат применения к элементу разных значений perspective() :

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

Примечания

Примеры

В следующем примере мы перемещаем и поворачиваем элемент, а затем растягиваем его. Преобразования являются двумерными, поэтому необходимости в перспективе нет:

какой параметр компонента transform влияет на размеры объекта. Смотреть фото какой параметр компонента transform влияет на размеры объекта. Смотреть картинку какой параметр компонента transform влияет на размеры объекта. Картинка про какой параметр компонента transform влияет на размеры объекта. Фото какой параметр компонента transform влияет на размеры объекта

В этом transform CSS примере к элементу применяется перспектива с помощью функции perspective() :

Можно выполнить то же самое преобразование, но вместо того, чтобы применять к элементу перспективу, можно активировать в контейнере 3D-пространство :

Интерактивная демо-версия

Поддержка браузерами

Ниже приводится таблица поддержки двухмерных CSS-преобразований :

Поддержка 2D-преобразований CSS3

Текущий статус: рабочий проект W3C

Поддерживается со следующих версий:

3.5 *IE 6Opera 10. *Safari 3.1 *Chrome

3.2 *Firefox2.1 *IE 11Opera 54Safari 50Поддержи-ваетсяПоддержи-

ваетсяПолифиллПоддержи-ваетсяПоддержи-ваетсяПоддержи-ваетсяПоддержи-ваетсяПоддержи-ваетсяПоддержи-ваетсяПоддержи-вается

Ниже приводится таблица поддержки трехмерных преобразований CSS :

Поддержка 3D-преобразований CSS3

Метод преобразования элемента в трех измерениях с помощью свойства CSS transform включает поддержку свойства perspective для установки перспективы в z-пространстве и свойства backface-visibility для переключения отображения обратной стороны преобразуемого элемента.

Текущий статус: рабочий проект W3C

Поддерживается со следующих версий:

СтационарныеМобильные
Chrome 12 *Firefox 10 *IE 15 *Opera 4 *Safari 3.1 *Chrome 3.2 *Firefox 3 *IE 37Opera 54Safari 50
Поддержи-ваетсяПоддержи-ваетсяЧастичноПоддержи-ваетсяПоддержи-ваетсяПоддержи-ваетсяПоддержи-ваетсяПоддержи-ваетсяПоддержи-ваетсяПоддержи-вается

Пожалуйста, опубликуйте ваши мнения по текущей теме материала. За комментарии, отклики, лайки, дизлайки, подписки низкий вам поклон!

Дайте знать, что вы думаете по данной теме материала в комментариях. Мы крайне благодарны вам за ваши комментарии, отклики, дизлайки, подписки, лайки!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *