Свойство ttransform-origin позволяет изменить позицию трансформации элемента.
Transform-origin работает только вместе со свойством transform.
Данное свойство может быть установлено, используя ключевые слова, значения длины или проценты.
Для максимальной совместимости браузера могут быть использованы такие расширения, как -webkit- для Safari, Google Chrome и Opera (новые версии).
Значение по умолчанию | 50% 50% 0 |
Применяется | К трансформируемым элементам. |
Наследуется | Нет |
Анимируемое | Да. Градус анимируем. |
Версия | CSS3 |
DOM синтаксис | Object.style.transform-origin = "10% 30%"; |
Синтаксис
transform-origin: x-offset y-offset z-offset | initial | inherit;
Пример
<!DOCTYPE html>
<html>
<head>
<title>Заголовок документа</title>
<style>
.big {
position: relative;
height: 300px;
width: 300px;
margin: 80px;
padding: 5px;
border: 2px solid #666;
background-color: #eee;
}
.little {
padding: 60px;
position: absolute;
border: 2px solid #666;
background-color: #8ebf42;
-ms-transform: rotate(35deg); /* IE 9 */
-ms-transform-origin: 70% 90%; /* IE 9 */
-webkit-transform: rotate(35deg); /* Safari 3-8 */
-webkit-transform-origin: 70% 90%; /* Safari 3-8 */
transform: rotate(35deg);
transform-origin: 70% 90%;
}
</style>
</head>
<body>
<h2>Пример свойства transform-origin</h2>
<div class="big">
<div class="little">Box</div>
</div>
</body>
</html>
В следующем примере можно увидеть разницу между значениями:
Пример
<!DOCTYPE html>
<html>
<head>
<title>Заголовок документа</title>
<style>
body {
background-color: #eee;
font-size: 1.1em;
font-family: 'Roboto', Helvetica, sans-serif;
}
.container {
margin: 10px auto;
max-width: 700px;
}
.wrap {
width: 150px;
height: 150px;
border: 2px solid #666;
display: inline-block;
margin: 100px;
}
.box {
width: 150px;
height: 150px;
position: relative;
color: #eee;
text-align: center;
line-height: 150px;
-webkit-transform: rotate(25deg);
-ms-transform: rotate(25deg);
transform: rotate(25deg);
}
.a {
background-color: #0747af;
}
.b {
background-color: #40b530;
-webkit-transform-origin: top left;
-ms-transform-origin: top left;
transform-origin: top left;
}
.c {
background-color: #666;
-webkit-transform-origin: 90% 120%;
-ms-transform-origin: 90% 120%;
transform-origin: 90% 120%;
}
.d {
background-color: #ffdb11;
-webkit-transform-origin: 80px 40px;
-ms-transform-origin: 80px 40px;
transform-origin: 80px 40px;
}
</style>
</head>
<body>
<h2>Пример свойства transform-origin</h2>
<div class="container">
<div class="wrap">
<div class="box a">
50% 50%
</div>
</div>
<div class="wrap">
<div class="box b">
top left
</div>
</div>
<div class="wrap">
<div class="box c">
90% 120%
</div>
</div>
<div class="wrap">
<div class="box d">
80px 40px
</div>
</div>
</div>
</body>
</html>
Значения
Значение | Описание |
---|---|
x-offset | Указывает положение на оси x. Может иметь следующие значения:
|
y-offset | Указывает положение на оси y. Может иметь следующие значения:
|
z-offset | Указывает положение на оси z для трехмерных трансформаций. Может иметь следующие значения:
|
initial | Устанавливает свойство в значение по умолчанию. |
inherit | Значение элемента наследуется от родительского элемента. |
Поддержка браузера
36.0+ 12.0-35.0 -webkit- |
16.0+ 10.0-15.0 -moz- |
4.0+ -webkit- |
23.0+ 15.0-22.0 -webkit- |
Практикуйте свои знания
Какие значения может принять свойство css 'transform-origin'?
Правильный!
Неправильно!