我怎样才能过渡高度:0;高度:自动;使用CSS?

2023-11-27

我正在尝试做一个<ul>使用 CSS 过渡向下滑动。

The <ul>开始于height: 0;。悬停时,高度设置为height:auto;。然而,这导致它简单地出现,not过渡,

如果我从height: 40px; to height: auto;,然后它会向上滑动到height: 0;,然后突然跳到正确的高度。

如果不使用 JavaScript,我还能怎么做呢?

#child0 {
  height: 0;
  overflow: hidden;
  background-color: #dedede;
  -moz-transition: height 1s ease;
  -webkit-transition: height 1s ease;
  -o-transition: height 1s ease;
  transition: height 1s ease;
}
#parent0:hover #child0 {
  height: auto;
}
#child40 {
  height: 40px;
  overflow: hidden;
  background-color: #dedede;
  -moz-transition: height 1s ease;
  -webkit-transition: height 1s ease;
  -o-transition: height 1s ease;
  transition: height 1s ease;
}
#parent40:hover #child40 {
  height: auto;
}
h1 {
  font-weight: bold;
}
The only difference between the two snippets of CSS is one has height: 0, the other height: 40.
<hr>
<div id="parent0">
  <h1>Hover me (height: 0)</h1>
  <div id="child0">Some content
    <br>Some content
    <br>Some content
    <br>Some content
    <br>Some content
    <br>Some content
    <br>
  </div>
</div>
<hr>
<div id="parent40">
  <h1>Hover me (height: 40)</h1>
  <div id="child40">Some content
    <br>Some content
    <br>Some content
    <br>Some content
    <br>Some content
    <br>Some content
    <br>
  </div>
</div>

Use max-height在过渡中而不是height。并设置一个值max-height比你的盒子更大的东西。

See JSFiddle 演示由克里斯·乔丹在另一篇文章中提供answer here.

#menu #list {
    max-height: 0;
    transition: max-height 0.15s ease-out;
    overflow: hidden;
    background: #d5d5d5;
}

#menu:hover #list {
    max-height: 500px;
    transition: max-height 0.25s ease-in;
}
<div id="menu">
    <a>hover me</a>
    <ul id="list">
        <!-- Create a bunch, or not a bunch, of li's to see the timing. -->
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
        <li>item</li>
    </ul>
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我怎样才能过渡高度:0;高度:自动;使用CSS? 的相关文章

  • HTML 和 CSS 的基本编码标准 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道它们是否是像 PSR 01 这样的 HTML 和 CSS 基本编码标准 我尝试谷歌搜索和搜索 但没有找到 我建议看看类似的东西
  • 为什么 IE10 要求存在 p:hover {} 规则才能使转换在伪元素上起作用?

    HTML p Hover p CSS p after content here transition all 1s p hover after font size 200 color red 现场演示 http jsfiddle net S
  • 如何更改单选按钮的默认外观而不是功能?

    在表单上我有两个单选按钮Yes and No 我想更改单选按钮的默认外观 喜欢这个 Edit 我想改变radio按钮进入 a 如果通过 CSS 更改默认单选按钮的外观并不容易 则在启用 JavaScript 时锚定 最简单的方法 将图像设置
  • 强制 Flexbox 在特定项目之后换行(方向:列)

    我有导航 各个条目通过 Flexbox 一层一层地显示 方向 列 如果导航条目获得 分隔符 类 则导航应进入下一行 是否可以强制 Flexbox 执行 换行 nav display flex flex direction column na
  • 调整 Twitter-Bootstrap 中按钮的大小

    我正在开发一个适合移动设备的网络应用程序 我希望它有一个非常简单的用户界面 包括大到连巨人安德烈都可以轻松点击的按钮 问题是 我没有看到通过将引导按钮的宽度或高度设置为百分比 像素数或简单地让它们填充其容器来显式调整引导按钮大小的简单方法
  • 如何使页面上的所有内容变大?

    如果我在浏览器中打开我的网站并按Ctrl 有几次 一切都变得更大 网站对我来说看起来更好 我可以通过在 HTML 代码中添加一些内容来实现相同的效果吗 以便用户默认看到更大的所有内容 而无需按Ctrl 我想让所有东西都变大 文本和图像 如果
  • Bootstrap 3 - 使用垂直滚动条水平拖动元素,overflow-y:滚动

    在我的失败之后上一篇文章 https stackoverflow com questions 23586926 bootstrap grid with scrollable affixed column noredirect 1 comme
  • 使用边距与填充? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我最近开始自己在线学习周三开发 并且是这个领域的新手 所以对我的基本查询表示歉意 我知道边距和填充之间的区别 用逻辑术语 但不太确定 何时应该使
  • 当元素具有多个类时如何在 switch 语句中检查 className

    在下面的示例中 我只想单击该选项以在警报中显示 我正在尝试使用 switch 语句来确定单击了哪个类 如果我的 div 不包含多个类 则我的示例将有效 我尝试使用classList contains在我的 switch 语句中无济于事 有没
  • 如何将外部 div 的高度设置为始终等于特定内部 div 的高度?

    我有一个外部 div 其中包含三个内部 div 我希望最左边的内部 div 始终确定外部 div 的高度 如果其他内部 div 的内容 比最左边的 div 少 它们将有空白空间 如果他们有更多的内容 比最左边的div 他们将得到一个滚动条
  • 当内部图像缩放时,包裹 div 不会调整大小(窗口大小调整的结果)

    我希望我的图像随着窗口高度的变化而调整大小 同时保持包含的 div 收缩包裹图像 我尝试使用 div img src http akamaicovers oreilly com images 9780596806767 cat gif al
  • 创建便利贴(便利贴)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在设计一个网页 我想在我的页面中使用便利贴 便利贴 其中 当我们单击添加按钮时会添加每个便签 便签的颜色必须随机变化 并且必须倾斜并且
  • 在生产中使用 css / javascript 源映射对性能有何影响?

    生产环境中应该使用源映射吗 除了调试之外 它们还有什么好处吗 由于额外的服务器往返 它们是否会影响应用程序加载时间 浏览器是否足够智能来加载 map应用程序加载和渲染后的资产 如果浏览器找不到 map asset 404错误 会对性能产生影
  • CSS:响应式布局中的高度自动问题

    我在响应式布局中使用 jquery 延迟加载 并使用空白 gif 作为预览图像 为了使延迟加载工作 我必须通过属性设置图像的高度和宽度 预览图像未设置为正确的高度 因为 height auto 似乎是通过 src 而不是通过高度属性计算高度
  • 列表项的替代背景颜色

    我有一个列表 每个项目都是链接的 有没有办法可以替换每个项目的背景颜色 ul li a href link Link 1 a li li a href link Link 2 a li li a href link Link 3 a li
  • 如何使输入字段的宽度为 100% 减去提交按钮的宽度?

    我有一个非常基本的单一输入字段 旁边有一个 提交 按钮 搜索按钮的固定宽度为 104 像素 两者都包裹在一起 总宽度占浏览器视口的 50 我的计划是允许输入字段随着浏览器窗口的扩大而扩大 目前 对于我的特定浏览器窗口 我必须修复输入字段的宽
  • d3 序数尺度的映射

    我正在使用 D3 的序数比例将数字映射到颜色 我用过这个 color d3 scale ordinal range 1f77b4 ff7f0e 2ca02c d62728 9467bd 8c564b e377c2 domain 0 6 co
  • 如何隔离 Vuetify 全局样式

    我已经开始在旧的现有项目中将 Vue js 与 Vuetify 结合使用 所以我没有重写所有前端 我只是导入了Vue并替换了一些部分 然后我注意到一个非常意想不到的行为 Vuetify 具有常见类的全局样式 例如 title它不仅影响整个页
  • 如何在rollup中使用css @import?

    我尝试创建一个简单的汇总应用程序的配置 但在 css 方面遇到了一些麻烦 这是我的 CSS 文件 import normalize css import typeface roboto html body root height 100 f
  • CSS - 最大宽度和椭圆

    我有一个包含文本的跨度 我希望跨度扩大到最大 500px 以容纳里面的文本 达到最大值后 我希望文本为任何溢出最大宽度的文本显示省略号 这可能吗 我尝试了以下方法 但这并没有达到目的 Thanks position absolute top

随机推荐

  • 避免 DELETE 查询中的自引用

    我正在尝试删除其名称下不是最新版本的所有记录 但显然您无法引用访问您在同一查询中修改的表 我尝试了这个 但由于上述原因它不起作用 DELETE FROM table WHERE CONCAT name version NOT IN SELE
  • 使用java加密和解密密码使用什么API和算法

    我目前正在使用 Java 创建应用程序 我在 google 上搜索了 java 密码加密 但结果如此巨大 我感到不知所措 如何使用 Java 加密和解密密码 加密和解密密码的最佳实践是什么 我猜 MD5 不是一种可行的方法 因为它是一种单向
  • 如何从包含多个 GzipStream 的文件中读取

    我有一个使用代码创建的文件 如下所示 using var fs File OpenWrite tmp using GZipStream gs new GZipStream fs CompressionMode Compress true u
  • package code.google.com/p/go.example/hello: exec: "hg": 在 %PATH% 中找不到可执行文件。如何获取远程golang包?

    我按照 Golang 教程中写的那样做http golang org doc code html remote 我的环境设置 C sbox go example gt set go GOPATH C sbox go example GORO
  • Android OpenGL ES Framebuffer 对象 - 将深度缓冲区渲染到纹理

    我使用的 Android 设备运行 Froyo 支持 OpenGL ES 1 1 和 OpenGL ES 2 0 我想将深度缓冲区渲染为纹理 在看过其他平台 包括 iPhone 上的 OpenGL OpenGL ES 的许多示例后 我尝试了
  • AJAX 文件上传/表单提交无需 jquery 或 iframe?

    是否可以在没有 jQuery 或 IFrames 的情况下进行 AJAX 表单提交 因此只需纯 JavaScript 我目前正在发送到一个可以工作的struts fileUploadAction 该操作的代码是否仍适用于异步提交 或者是否需
  • 我可以在 iOS 上将 HTTP 缓存与 NSURLSessionDownloadTask 一起使用吗?

    我正在尝试使用NSURLSessionDownloadTask 并利用 Apple 内置的 URL 缓存功能 我已经成功地让缓存在使用时起作用NSURLSessionDataTask使用下面的代码 void downloadUsingNSU
  • Haskell 管道和分支

    Problem 我正在尝试使用 Haskell 和 Pipes 库实现一个简单的 Web 服务器 我现在明白循环或菱形拓扑对于管道是不可能的 但我认为我正在尝试这样做 我想要的拓扑结构是 GET gt handleGET gt gt pac
  • 即使在deleteLocalRef之后jni表也会溢出

    当我运行代码时 出现错误 无法添加到 JNI 本地引用表有 512 个条目 这是我的代码 jstring pJNIData pJNIEnv gt NewStringUTF variables 0 GetStringValue pJNIEnv
  • 如何使用自托管 ServiceStack 忽略路由

    我目前正在开发一个解决方案 我们有一个正在运行的自托管 ServiceStack 层 但问题是当我从浏览器访问它并且浏览器尝试获取网站图标时 我不断收到错误 据我所知 在运行自托管时没有忽略特定路由的选项吗 我会想象类似的事情 Routes
  • 如何使用 python 替换/删除 pdf 中的文本? [复制]

    这个问题在这里已经有答案了 我有隐藏 pdf 部分的代码 只需用白色多边形覆盖它 但问题是 文本仍然是there 如果你按 ctrl f 仍然可以找到它 我的目标是实际从 pdf 本身中删除文本 使用 pdfminer 我设法从 pdf 中
  • 为什么 App_Offline 一旦开始加载 dll 就无法工作?

    有人可以帮我解决这个问题吗 在生产站点上 app offline htm 仅在您开始上传 dll 之前有效 一旦您开始上传 dll 它就会抛出以下错误 无法加载文件或程序集 SubSonic 或其依赖项之一 该进程无法访问该文件 因为该文件
  • 关于使用 tf.image.crop_and_resize

    我正在研究适用于 fast rcnn 的 ROI 池化层 并且我习惯使用张量流 我发现tf image crop and resize可以充当 ROI 池化层 但我尝试了很多次都无法得到我期望的结果 或者真正的结果正是我得到的吗 这是我的代
  • sprintf 何时以及为何会失败?

    我正在使用 swprintf 将字符串构建到缓冲区中 使用循环等 const int MaxStringLengthPerCharacter 10 1 wchar t pTmp pBuffer for size t i 0 i lt nNu
  • Java 中的 HTTP URL 地址编码

    我的 Java 独立应用程序从用户那里获取一个 URL 指向一个文件 我需要点击它并下载它 我面临的问题是我无法正确编码 HTTP URL 地址 例子 URL http search barnesandnoble com booksearc
  • 在 JavaFx 中从输入流播放 mp3 文件

    我正在使用 JavaFX 媒体播放器使用以下代码播放 mp3 文件 new MediaPlayer new Media FileObject toURI toString play 但是现在我需要在内存中保存 mp3 字节数据而不是文件对象
  • 强制浏览器使用新的 CSS

    有没有办法检查用户的浏览器是否缓存了不同版本的 CSS 如果是 则强制他们的浏览器提取新版本 我不知道这是否是正确的用法 但我认为您可以使用查询字符串强制重新加载 css 文件 我记得几年前我使用过这种方法来强制重新加载网络摄像头图像 但时
  • 编译器之间的 Dll 兼容性

    有没有办法让不同编译器构建的 c dll 相互兼容 这些类可以具有用于创建和销毁的工厂方法 因此每个编译器都可以使用自己的 new delete 因为不同的运行时有自己的堆 我尝试了以下代码 但它在第一个成员方法上崩溃了 接口 h prag
  • Composer 给出错误,“未找到类”

    我使用的是 Windows 10 创建文件夹后src在根目录中我创建了两个文件 目录结构 运行前composer install composer json run php src childclass php parentclass ph
  • 我怎样才能过渡高度:0;高度:自动;使用CSS?

    我正在尝试做一个 ul 使用 CSS 过渡向下滑动 The ul 开始于height 0 悬停时 高度设置为height auto 然而 这导致它简单地出现 not过渡 如果我从height 40px to height auto 然后它会