javascript - 如何实现像jQuery 的slideDown 一样的向下滑动效果,但只使用CSS?

标签 javascript jquery animation css slidedown

CSS3 动画有问题。它们不支持“自动”高度属性(以及宽度、边距等)。在不知道元素确切高度的情况下创建 CSS3 向下滑动动画的最佳方法是什么?

问题类似于this一个,但是那里接受的答案没有回答实际问题,因为它们没有处理计算您希望滑动的元素的高度的问题。

最佳答案

你看过我根据那个答案挖出来的这个演示吗?
我尝试自己编写,但似乎没有用。

$('#click-me').click(function() {
  var height = $("#this").height();
  if (height > 0) {
    $('#this').css('height', '0');
  } else {
    $("#this").css({
      'position': 'absolute',
      'visibility': 'hidden',
      'height': 'auto'
    });
    var newHeight = $("#this").height();
    $("#this").css({
      'position': 'static',
      'visibility': 'visible',
      'height': '0'
    });
    $('#this').css('height', newHeight + 'px');
  }
});
#this {
  width: 500px;
  height: 0;
  max-height: 9999px;
  overflow: hidden;
  background: #BBBBBB;
  -webkit-transition: height 1s ease-in-out;
}

#click-me {
  cursor: pointer;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<p id="click-me">click me</p>
<div id="this">here<br />is<br />a<br />bunch<br />of<br />content<br />sdf</div>
<div>always shows</div>

View on jsFiddle

关于javascript - 如何实现像jQuery 的slideDown 一样的向下滑动效果,但只使用CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7672650/

相关文章:

css - IE - CSS 动画在动画结束时跳回

javascript - 视频播放暂停按钮动画

javascript - 避免使用 forEach 的临时变量

javascript - 将字符串转换为变量名。 (JavaScript)

javascript - 如何使用 JQuery 将点击功能分配给多个按钮?

IE10 上的 JavaScript : Maximum value in textbox asp. 网络

javascript - jQuery 用动画改变图像并等待它触发超链接

javascript - 如何按日期对对象进行分组?

javascript - 如何处理react-apollo中的删除

javascript - 无法访问 json 对象属性并且值在 Rails View 中显示为未定义