WEB и WordPress новости, темы, плагины. Здесь мы делимся советами и лучшими решениями для сайтов.

Как использовать свойство преобразования CSS

156

От цветов и шрифтов до макетов сетки и каруселей – CSS определяет, как выглядит ваш веб-сайт и насколько он понравится вашим посетителям. Вот почему так важно освоить этот язык и, если у вас есть время, сопутствующий фреймворк, такой как Bootstrap CSS.

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

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

Что такое свойство преобразования CSS?

Свойство преобразования CSS изменяет форму, положение и ориентацию элементов страницы. Значения свойства CSS transform – это функции, которые преобразуют целевой элемент, включая translate(), scale () и rotate ().

Правило преобразования CSS записывается следующим образом:

transform: value(argument);

… где значение – это тип преобразования, а аргумент – это степень применения преобразования. Обратите внимание, что некоторые объявления преобразований могут принимать несколько аргументов.

Но это объяснение мало что значит без примеров свойства transform в действии, поэтому давайте рассмотрим некоторые из них.

2D преобразования CSS

Преобразования CSS можно разделить на две категории: двухмерные и трехмерные. Сначала мы рассмотрим двумерные преобразования. Двумерные преобразования CSS работают по осям X (по горизонтали) и Y (по вертикали).

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

CSS Transform: Translate

Метод translate () переводит или перемещает элемент страницы вверх, вниз, влево и / или вправо на странице на указанную величину. В скобках первое число указывает расстояние по горизонтали, а второе число указывает расстояние по вертикали.

Например, мы можем перевести наш div на количество пикселей:

transform: translate(100px, 75px);

Как использовать свойство преобразования CSS

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

transform: translate(100%, 50%);

Как использовать свойство преобразования CSS

Помимо translate (), у нас также есть методы translateX () и translateY (). translateX () перемещает элемент только по горизонтали и принимает один аргумент:

transform: translateX(100px);

Как использовать свойство преобразования CSS

Точно так же метод translateY () перемещает элемент по вертикали. Также требуется всего один аргумент:

transform: translateY(100px);

Как использовать свойство преобразования CSS

Преобразование CSS: Масштаб

Метод scale () изменяет размер целевого элемента. Если мы предоставим один аргумент, это увеличит или уменьшит размер нашего div на кратное его исходному размеру:

transform: scale(2);

Как использовать свойство преобразования CSS

transform: scale(0.75);

Как использовать свойство преобразования CSS

Если мы предоставим два аргумента (разделенных запятой), первый аргумент задает горизонтальное масштабирование, а второй – вертикальное масштабирование:

transform: scale(4, 2);

Как использовать свойство преобразования CSS

Метод scaleX () изменяет только горизонтальное масштабирование элемента. Требуется один аргумент:

transform: scaleX(2);

Как использовать свойство преобразования CSS

scaleY () делает то же самое, что и scaleX (), но по вертикали:

transform: scaleY(2);

Как использовать свойство преобразования CSS

Преобразование CSS: поворот

Функция rotate (), как вы могли догадаться, вращает элемент. По умолчанию элемент будет вращаться вокруг своего центра. Мы можем указать вращение в градусах, радианах или поворотах (от 0 до 1 ):

transform: rotate(45deg);

Как использовать свойство преобразования CSS

transform: rotate(0.75turn);

Как использовать свойство преобразования CSS

Преобразование CSS: перекос

Метод skew () наклоняет или наклоняет элемент по его осям X и / или Y. Его аргументы определяют горизонтальный и вертикальный угол наклона соответственно.

transform: skew(50deg, -15deg);

Как использовать свойство преобразования CSS

skewX () наклоняет наш div только по горизонтальной оси, а skewY () делает то же самое только по вертикальной оси:

transform: skewX(50deg);

Как использовать свойство преобразования CSS

transform: skewY(50deg);

Как использовать свойство преобразования CSS

Объединение преобразований 2D CSS

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

transform: translate(100px, 20px) scale(0.8) rotate(30deg);

Как использовать свойство преобразования CSS

3D CSS Transformations

Трехмерные преобразования CSS включают ось Z. Если представить себе ширину и высоту экрана как оси X и Y соответственно, ось Z – это «глубина» экрана.

Как использовать свойство преобразования CSS

Источник изображения

Вот несколько способов трансформировать элементы, чтобы добавить глубины:

Преобразование CSS: перспектива

Значение перспективы () устанавливает глубину элемента по оси Z. Он переключает, насколько «близко» или «далеко» отображается элемент. Перспектива () используется вместе с другими методами трехмерного преобразования, как мы увидим далее.

Преобразование CSS: rotateX () и rotateY ()

Как и rotate (), значения rotateX () и rotateY () вращают наш div, но «вокруг» осей X и Y:

transform: rotateX(130deg);

Как использовать свойство преобразования CSS

transform: rotateY(130deg);

Как использовать свойство преобразования CSS

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

/* first image */
transform: perspective(500px) rotateY(40deg);
/* second image */
transform: perspective(500px) rotateY(60deg);
/* third image */
transform: perspective(500px) rotateY(80deg);

Как использовать свойство преобразования CSS
Как использовать свойство преобразования CSS
Как использовать свойство преобразования CSS

translateZ ()

При использовании с точки зрения (), то translateZ () создает эффект движущегося элемента вперед или назад по оси Z.:

transform: perspective(500px) translateZ(200px) ;

Как использовать свойство преобразования CSS

Свойство CSS transform-origin

transform-origin – еще одно свойство CSS, которое можно использовать с преобразованием. Свойство transform-origin изменяет положение начала координат, точку, в которой начинается преобразование или где оно базируется.

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

transform: rotate(45deg);
transform-origin: top left;

Как использовать свойство преобразования CSS

transform: rotate(45deg);
transform-origin: bottom left;

Как использовать свойство преобразования CSS

transform: rotate(45deg);
transform-origin: center right;

Как использовать свойство преобразования CSS

Начало координат также можно указать в пикселях от верхнего левого угла исходного элемента:

transform: rotate(45deg);
transform-origin: 75px 150px;

Как использовать свойство преобразования CSS

CSS-анимации преобразования

Все наши примеры до сих пор были статичными … но мы можем добиться большего. Любой метод преобразования CSS можно комбинировать с переходами CSS для создания классных эффектов анимации CSS.

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

div {
transition: transform 0.5s;
}
div:hover {
transform: scale(1.1);
cursor: pointer;
}

Как использовать свойство преобразования CSS

… или создайте эффект вертушки с помощью функции rotate () :

div {
transition: transform 2s;
}
div:hover {
transform: rotate(720deg);
}

Как использовать свойство преобразования CSS

Давайте рассмотрим

Мы многое рассмотрели, поэтому давайте вернемся к всему, что мы узнали:

  • transform: свойство CSS для изменения формы, положения и ориентации элементов страницы. Может принимать одно или несколько из следующих значений:
    • translate (): перемещает элемент на страницу
    • translateX (): перемещает элемент по горизонтали на странице
    • translateY (): перемещает элемент по вертикали на странице
    • translateZ (): перемещает элемент по оси Z «в сторону» или «в сторону» от пользователя.
    • scale (): увеличивает / уменьшает размер элемента
    • scaleX (): увеличивает / уменьшает ширину элемента
    • scaleY (): увеличивает / уменьшает высоту элемента
    • rotate (): вращает элемент (по умолчанию вокруг его центра)
    • rotateX (): вращает элемент вокруг оси X
    • rotateY (): вращает элемент вокруг оси Y
    • skew (): наклоняет форму элемента
    • skewX (): наклоняет форму элемента по горизонтали
    • skewY (): наклоняет форму элемента по вертикали
    • перспектива (): при использовании со значением трехмерного преобразования создает видимость элемента, движущегося к / от пользователя
  • transform-origin: Свойство CSS, используемое с преобразованием для изменения источника преобразования.
  • переход: свойство CSS для управления скоростью анимации. Его можно использовать с преобразованием для анимации элементов страницы.

Комбинируя эти мощные техники, вы можете многое сделать – поэкспериментируйте и посмотрите, что у вас получится!

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

Источник записи: https://blog.hubspot.com

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