Ниже приведен пример, показывающий, как это сделать с помощью анимации webkit. Вы также можете прочитать эту статью для получения дополнительной информации: http://webkit.org/blog/138/css-animation/
Закругленные углы только для того, чтобы показать, что страница перемещается за пределы экрана, а не просто меняет ширину.
Основная идея состоит в том, чтобы анимировать левое свойство CSS и использовать контейнерный div для выполнения отсечения.
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 50px;
height: 50px;
-webkit-border-radius: 15px;
}
#left {
position: absolute;
background-color: blue;
-webkit-transition: left 1s ease-in;
}
#right {
position: absolute;
left: 50px;
background-color: green;
-webkit-transition: left 1s ease-in;
}
#left.animate {
left: -50px;
}
#right.animate {
left: 0px;
}
#container {
position: relative;
overflow:hidden;
}
</style>
<script>
function animate() {
document.getElementById('left').className = 'animate';
document.getElementById('right').className = 'animate';
}
</script>
</head>
<body>
<div id='container'><div id='left'></div><div id='right'></div></div>
<input type='button' onclick='animate();' value='Animate!'></input>
</body>
</html>