CSS Transforms

Roman Trukhtanov

CSS - icon Plus Animation

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

CSS - Transformations

CSS - 2D Transformations (Plan)

CSS - 3D Transformations (Plan)

Contents

CSS-трансформации (transformations)

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

Использование CSS трансформаций
CSS - icon Plus Animation

Двумерные Трансформации

CSS - Transformations

Обратная система координат

Обратная система координат
Координаты объекта
Прямоугольная система координат Contents

Свойство transform

transform: [функция трансформации]([значение трансформации])
CSS transform Contents

transform: translateX()

задает сдвиг по горизонтали

            selector {
              transform: translateX(10px); /* Сдвиг вправо на 10px */
            }
        
TranslateX: DEMO Contents

transform: translateX(<значения>)

  • translateX(-20px)
  • translateX(25px)
  • translateX(50%)
TranslateX Contents

transform: translateY()

задает сдвиг по вертикали

        selector {
          transform: translateY(15px); /* Сдвиг вниз на 15px */
        }
    
TranslateY: DEMO Contents

transform: translateY(<значения>)

  • translateY(-15px)
  • translateY(20px)
  • translateY(-50%)
TranslateY Contents

transform: translate()

задает сдвиг по горизонтали и по вертикали

            selector {
              transform: translate(15px, 25%);
            }
        
Translate: DEMO Contents

transform: translate(Ox, Oy)

  • translate(-15px, 20px)
  • translate(25px)
  • translate(50%, -50%)
Translate Contents

transform: scaleX()

изменяет масштаб по горизонтали

            selector {
              transform: scaleX(1.5);
            }
        
ScaleX: DEMO Contents

transform: scaleX(<значения>)

  • scaleX(0.75)
  • scaleX(1.5)
  • scaleX(-1)
ScaleX Contents

transform: scaleY()

изменяет масштаб по вертикали

        selector {
          transform: scaleY(2);
        }
    
ScaleY: DEMO Contents

transform: scaleY(<значения>)

  • scaleY(0.7)
  • scaleY(-1)
  • scaleY(1.5)
ScaleY Contents

transform: scale()

изменяет масштаб по горизонтали и по вертикали

            selector {
              transform: scale(1.5, 1.7);
            }
        
Scale: DEMO Contents

transform: scale(Ox, Oy)

  • scale(1.3, 0.75)
  • scale(1.25)
  • scale(1.2, 1.5)
Scale Contents

transform: rotate()

задает поворот элемента на нужный градус

        selector {
          transform: rotate(45deg);
        }
    
Rotate: DEMO Contents

transform: rotate(<значения>)

  • rotate(0.05turn)
  • rotate(-70deg)
  • rotate(45deg)
Rotate Contents

transform: skewX()

задает наклон элемента относительно оси X

            selector {
              transform: skewX(15deg);
            }
        
SkewX: DEMO Contents

transform: skewX(<значения>)

  • skewX(0.10turn)
  • skewX(-10deg)
  • skewX(15deg)
SkewX Contents

transform: skewY()

задает наклон элемента относительно оси Y

        selector {
          transform: skewY(20deg);
        }
    
SkewY: DEMO Contents

transform: skewY(<значения>)

  • skewY(0.075turn)
  • skewY(-10deg)
  • skewY(15deg)
SkewY Contents

transform: skew()

задает наклон элемента относительно оси X и оси Y

        selector {
          transform: skew(25deg, -20deg);
        }
    
Skew: DEMO Contents

transform: skew(Ox, Oy)

  • skew(-20deg, 15deg)
  • skew(25deg)
  • skew(10deg, -30deg)
Skew Contents

Свойство transform-origin

устанавливает координаты точки (anchor point), относительно которой будет происходить трансформация элемента

Transform-Origin Contents

transform-origin

      selector {
        transform-origin: center; /* По умолчанию в центре */
      }
    
transform-origin: DEMO Contents

transform-origin: Ox Oy Oz

Anchor Points
Transform-Origin Contents

transform-origin + rotate(25deg)

  • left top
  • 50%    50%
  • right center
  • center bottom
  • 20% 45%
  • 100px 35px
Contents
CSS - icon Plus Animation

Трехмерные Трансформации

CSS - Transformations

Координатная система в трехмерном пространстве

Координатная система в 3D
Координаты объекта в 3D
Contents

transform: translateZ()

задает сдвиг по оси Z

        selector {
          transform: translateZ(20px);
        }
    
TranslateZ: DEMO Contents

transform: translateZ(<значения>)

  • translateZ(10px)
  • translateZ(-80px)
  • translateZ(100px)
TranslateZ Contents
Sad Cat

transform-style

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

            selector {
              transform-style: preserve-3d;
            }
        
Transform-Style: DEMO Contents

transform-style: <значения>

  • flat
  • preserve-3d + translateZ
Transform-Style Contents

transform: translate3d()

задает сдвиг по осям X, Y, Z

        selector {
          transform: translate3d(10px, -15px, 20px);
        }
    
Translate3D: DEMO Contents

transform: translate3d(Ox, Oy, Oz)

  • translate3d(-10px, 15px, 5px)
  • translate3d(15px, 20px, 30px)
  • translate3d(30px, -20px, 75px)
Translate3D Contents

transform: rotateX()

задает вращение по оси X

            selector {
              transform: rotateX(30deg);
            }
        
RotateX: DEMO Contents

transform: rotateX(<значения>)

  • Ось X
    rotateX(-60deg)
  • Ось X
    rotateX(0.02turn)
  • rotateX(45deg)
RotateX Contents

transform: rotateY()

задает вращение по оси Y

        selector {
          transform: rotateY(-45deg);
        }
    
RotateY: DEMO Contents

transform: rotateY(<значения>)

  • Ось Y
    rotateY(-10deg)
  • Ось Y
    rotateY(0.04turn)
  • rotateY(45deg)
RotateY Contents

transform: rotateZ()

задает вращение по оси Z

        selector {
          transform: rotateZ(90deg);
        }
    
RotateZ: DEMO Contents

transform: rotateZ(<значения>)

  • Ось Z
    rotateY(-84deg)
  • Ось Z
    rotateZ(0.22turn)
  • rotateZ(90deg)
RotateZ Contents

perspective

позволяет задать эффект глубины дочерним элементам

        selector {
          perspective: 1000px;
        }
    
Мост - эффект перспекивы
Perspective: DEMO Contents

perspective: <значения>

  • translateZ(-125px)
  • translateZ(130px) + rotateY(30deg)
  • rotateX(40deg) + translateZ(85px)
Perspective Contents

perspective-origin

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

        selector {
          perspective-origin: left top;
        }
    
Perspective-Origin: DEMO Contents

perspective-origin: Ox Oy

Perspective-Origin Contents

perspective-origin + translateZ(-100px)

  • left top
  • 50%    50%
  • right center
  • center bottom
  • 20% 45%
  • 100px 35px
Contents

backface-visibility

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

        selector {
          backface-visibility: hidden;
        }
    
Backface-Visibility: DEMO Contents

backface-visibility: <значения>

  • properties...

    default

  • properties...

    visible

  • properties...

    hidden

Backface-Visibility Contents
CSS - icon Plus Animation
Basketball
CSS - Transformations