Я пытаюсь преобразовать масштаб в div, который сосредоточен на прокручиваемом контейнере div.
Трюк, который я использую, чтобы отразить новый размер div после преобразования, использует обертку и устанавливает для нее новую ширину/высоту, чтобы родитель мог правильно отображать полосы прокрутки.
.container {
position: relative;
border: 3px solid red;
width: 600px; height: 400px;
background-color: blue;
overflow-x: scroll; overflow-y: scroll;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
.wrapper {
order: 1;
background-color: yellow;
}
.content-outer {
width: 300px;
height: 200px;
transform-origin: 50% 50%;
/*transform-origin: 0 0;*/
}
.content-outer.animatted {
animation: scaleAnimation 1s ease-in forwards;
}
.content-outer.animatted2 {
animation: scaleAnimation2 1s ease-in forwards;
}
.content-inner {
width: 300px;
height: 200px;
background: linear-gradient(to right, red, white);
}
если начало преобразования было 0,0, div центрирован без анимационных переходов, но полосы прокрутки неверны. если происхождение было посередине, и расположение div и полосы прокрутки пропущено
Я попробовал два способа сделать центрирование, используя flexbox (http://jsfiddle.net/r3jqyjLz/1/) и используя отрицательные поля (http://jsfiddle.net/roLf5tph/1/).
Есть ли лучший способ сделать это?