Это возможно - вот очень упрощенная версия, сделанная путем установки transform-origin
:
Fiddle
Код:
document.getElementById('dismiss').addEventListener('click', function() {
var button = document.getElementById('mybutton');
var overlay = document.getElementById('overlay');
overlay.style['-webkit-transform-origin'] = (button.offsetLeft + button.offsetWidth/2) + 'px ' +
(button.offsetTop + button.offsetHeight/2) + 'px';
overlay.style['-webkit-transform'] = 'scale(0)';
overlay.addEventListener('webkitTransitionEnd', function() {
overlay.className = 'hide';
});
});
Самым сложным для этого было бы установить положение кнопок относительно наложения.Затем используйте его, чтобы установить transform-origin
, который будет действовать как точка схода.