【发布时间】:2013-03-23 02:18:33
【问题描述】:
有什么方法可以为 div 设置动画(最好不使用 javascript),使其宽度/高度增加或减少 5px?我的意思不是使用scale(0.95) 或zoom: 95%,因为这取决于 div 的原始大小,我希望始终准确更改 5px。
【问题讨论】:
标签: html css css-animations
有什么方法可以为 div 设置动画(最好不使用 javascript),使其宽度/高度增加或减少 5px?我的意思不是使用scale(0.95) 或zoom: 95%,因为这取决于 div 的原始大小,我希望始终准确更改 5px。
【问题讨论】:
标签: html css css-animations
div 的height 增量是已知的,而不是假定的。div.growable {
background: red;
color: white;
-webkit-transition: height 200ms ease-in-out;
height: 100px;
}
div.growable:hover {
height: 105px;
}
height 中的更改成为现有值的增量或减量,而无需关心该值是什么。$(function(){
$('#growDiv').click(function(){
$('div.growable-js').animate({'height' :'+=5px'}, 200);
});
$('#shrinkDiv').click(function(){
$('div.growable-js').animate({'height': '-=5px'}, 200);
});
});
【讨论】:
'-=Npx' 和 '+=Npx'
height,因为这正是 OP 想要改变的。将填充添加到 div 会添加垂直空间,但不会更改高度值。
不需要调整 div 大小...
div {
width: 200px;
height: 200px;
background-color: #eee;
transition: padding .5s;
padding: 10px;
}
div:hover {
padding: 15px;
}
这是一个变体,主 div 不转换,但父 div 转换。根据您的情况,这可能会更有用。
div.outer {
transition: padding .5s;
padding: 10px;
position: relative;
}
div.outer:hover {
padding: 15px;
}
div.inner {
top: 10px;
right: 10px;
bottom: 10px;
left: 10px;
position: absolute;
}
<div class="outer">
<div class="inner">
</div>
</div>
【讨论】: