Мне удалось решить проблему самостоятельно.
Решение простое: просто убедитесь, что элемент масштабируется до исходного размера, чтобы начать с:
-webkit-transform: scale(1);
Есть одна хитростьк этому, хотя.Если вы, как и я ниже, добавляете класс к элементу, выбранному #id, #id имеет более высокий приоритет, чем класс, и он не будет отображаться, пока вы не скажете браузеру, что это важно
-webkit-transform: scale(2) !important;
Альтернативный способ решить эту проблему - выбрать элемент не по #id, а по классу (.block) или по элементу (div).Все, что имеет более низкий приоритет, чем идентификатор.
Решение следует:
<style type="text/css">
#block {
position:absolute;
top: 0;
left: 0;
width: 200px;
height: 400px;
-webkit-transition: -webkit-transform 3s ease-out;
background-color: blue;
-webkit-transform: scale(1);
}
.zoom {
-webkit-transform: scale(2) !important;
}
</style>
</head>
<body>
<div id="block" onclick="className='zoom';">The Block</div>
</body>
</html>