css - 过渡固定位置元素高度

标签 css

我有一个 position: fixed; 导航栏,我想在点击超过 0.2 秒 时将其扩展到浏览器的高度。

您可以通过单击此页面上的“汉堡包”来查看所需效果的示例:http://iamwilliamstern.com/

示例/我尝试过的:

这是我尝试做的示例代码笔: http://codepen.io/donpinkus/pen/qaodzP

我在单击时添加类 .open,它具有属性 bottom: 0。 Bottom 是一个可动画的属性,但问题是我还没有为它设置一个值来为 from 设置动画。我唯一的选择是使用 JS 来计算 bottom 在“关闭”时应该是什么吗?

我假设只有一个 CSS 选项可以让事情顺利进行。

最佳答案

给“封闭的”div min-height: 1px

给“open”div min-height: 100%

由于您没有手动设置高度,“封闭”导航将从其内容中获取高度,这比在 CSS 中手动设置高度更可取。

此处示例: http://codepen.io/donpinkus/pen/amYvkL

div {
  background: red;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  transition: all .2s ease-in-out;
  min-height: 20px; // This gets animated
}

.open {
  min-height: 100%;
}

关于css - 过渡固定位置元素高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39935889/

相关文章:

css - 只要 body 和 sub sub div 滚动就缩放 div

javascript - css代码如何将导航放在中间

html - 左右浮动时垂直和水平对齐的元素

html - Bootstrap navbar-brand logo - 肖像图像已被切断?

html - 将 div 放置在 Canvas 顶部并始终位于全屏浏览器的右下角

javascript - 如何使 <hr> 标签的行位于 <h> 标签的正下方?

css - 窗口底部的 div 和自适应高度 div

javascript - 输入字段上的部分密码屏蔽

css - Google Chrome、 float 和媒体查询

javascript - 单击导航栏时如何禁用刷新背景图像?