#css #transform
#css #преобразование
Вопрос:
Кто-нибудь знает, как преобразовать css изображение размером 16 пикселей на 16 пикселей display: none
от центра наружу?
HTML
<center>
<br>
<div class="t"></div>
</center>
CSS
.t {
height: 0px;
width: 0px;
background: green;
display: block;
}
.a {
height: 16px;
width: 16px;
-webkit-transform: rotate(0deg) scale(2);
-moz-transform: rotate(0deg) scale(2);
-o-transform: rotate(0deg) scale(2);
-webkit-transition-duration: 5s; /* Safari */
transition-duration: 5s;
transform-origin: center center;
}
JS
setTimeout(function(){$('.t').addClass('a');},1000);
То, что у меня есть прямо сейчас, отображается от центра по горизонтали, но по вертикали кажется, что оно появляется сверху.
Кстати: я не могу использовать масштаб Jquery в этом случае
Ответ №1:
Решено: он также должен быть перемещен по x и y с помощью translate
.container {
position:absolute;
top:50%;
left:50%;
width: 50%;
height: 50%;
border: 1px solid #000;
}
.t {
height: 0px;
width: 0px;
top: 0px;
left: 0px;
background: green;
position: absolute;
}
.a {
height: 16px;
width: 16px;
-webkit-transform: scale(2) translateX(-4px) translateY(-4px);
-moz-transform: scale(2) translateX(-4px) translateY(-4px);
-o-transform: scale(2) translateX(-4px) translateY(-4px);
transform-origin:4px 4px;
-webkit-transition-duration: 1s; /* Safari */
transition-duration: 1s;
}
Ответ №2:
Вы могли бы обернуть это в контейнер, а затем полностью расположить контейнер следующим образом:
<div class="container">
<div class="t"></div>
</div>
.container {
position:absolute;
top:50%;
left:50%;
margin:-8px -8px 0 0;
}
.t {
height: 0px;
width: 0px;
background: green;
display: block;
}
.a {
height: 16px;
width: 16px;
-webkit-transform: rotate(0deg) scale(2);
-moz-transform: rotate(0deg) scale(2);
-o-transform: rotate(0deg) scale(2);
-webkit-transition-duration: 5s; /* Safari */
transition-duration: 5s;
transform-origin:center center;
}
JSFiddle
Комментарии:
1. Почему вы включаете поворот (0)? Кроме того, нет необходимости в контейнере
2. Все, что я добавил, это контейнерный HTML / CSS, остальной код взят из OP.