【发布时间】:2014-12-09 19:53:19
【问题描述】:
我正在尝试将过渡添加到不断增长的 div。
这是一个 jsfiddle:http://jsfiddle.net/fL5rLr2y/
这个 jsfiddle 代表了我现实世界的问题。
我有以下标记:
<div class="container">
<div class="inner">
</div>
</div>
还有下面的css:
html, body {
height: 100%; } .container {
position: relative;
height: 80%;
background-color: blue; }
.inner {
position: absolute;
top: 30px;
left: 0;
right: 0;
height: 50px;
background-color: red; }
.inner.open {
height: initial;
bottom: 20px; }
这是我的 js:
$('.inner').click(function() {
$(this).toggleClass('open');
});
我正在尝试使用纯 css 添加过渡。我该怎么做? 如果没有纯css解决方案,我该如何使用js来解决呢?
更新
经过大量调查,似乎使用 calc 是在纯 css 中执行此操作的唯一选择。
不幸的是,我有 calc 的床经验,尤其是 safari 和移动(浏览器崩溃和其他意外)。我现在更喜欢避免使用 calc 并使用 javascript 解决方案来模拟它。
知道怎么做吗?
【问题讨论】:
-
您要添加什么类型的过渡?
-
我是否正确假设您正在寻找它不会突然打开?可能不适用于
height: initial;,但应该适用于设定的高度:transition: height 0.5s ease-in-out;。 -
@henser:底部或高度的过渡。按下红色区域,它会消耗。
-
检查我的答案...这是你要找的吗?
-
你尝试过使用 CSS3 过渡吗?
标签: javascript css css-transitions transition