【发布时间】:2015-08-01 08:44:56
【问题描述】:
我正在构建一个单页网站,它在“开始屏幕”上显示 80% 屏幕宽度的矢量图形。用户向下滚动后,图形将转换到页面顶部的导航栏,并应获得 50 像素的高度。从大尺寸到小尺寸的过渡应使用 CSS3 过渡进行动画处理。
但是,当将元素从百分比或自动值缩放到固定像素值时,CSS 转换似乎不起作用,反之亦然。我制作了一个jsfiddle 来演示效果。虽然 div 的高度过渡良好,但宽度根本没有动画效果。
出于响应式设计的原因,不能对图像的初始大小使用像素宽度。代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
html, body{
background-color: #010101;
height: 100%;
}
.navbar--logo-item{
background-color: #fff;
height: 10px;
width: 80%
-moz-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
}
.navbar--logo-item.small{
height: 50px;
width: 200px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#toggle').click(function(){
$('.navbar--logo-item').toggleClass('small');
});
});
</script>
</head>
<body>
<div class="navbar--logo-item"></div>
<button id="toggle">
Toggle Logo
</button>
</body>
</html>
【问题讨论】:
标签: css css-transitions