css - :targeting sibling? sibling 的过渡高度

标签 css css-selectors accordion

我正在尝试为我的网站做一种 Accordion ,类似于 this website 上的那个。 , 但没有切换。

我正在使用的代码是 here .

我有基本的设置工作,但我似乎无法让 li 的高度正确过渡(如果有的话);我会很感激一些帮助。

解决方案最好只使用 CSS,但如果这是唯一/最好的方法,我愿意使用 JS/jQuery。

我已尝试阅读此站点上的其他问题来修复它,但我做错了什么或解决方案没有帮助。

最佳答案

一种方法是使用 CSS3 转换(适用于现代浏览器),但不可能(如果我错了,有人会纠正我)将 height: 0; 转换为 height: 100%; 因此,如果您不知道实际高度,一种解决方法是使用 max-height 代替。在这种情况下,您需要将 max-height 设置为比以往更大的值。

所以添加这样的东西可能就是您要找的东西?

li {
    opacity: 0;
    max-height: 0;
}

h2:target~li { /* Want to transition this */
    opacity: 1;
    max-height: 100px;
    -webkit-transition: max-height 1.0s;
       -moz-transition: max-height 1.0s;
        -ms-transition: max-height 1.0s;
         -o-transition: max-height 1.0s;
            transition: max-height 1.0s;
}​

DEMO

在您的情况下,如果您也想转换不透明度属性,您只需将 transition: max-height 1.0s; 更改为 transition: all 1.0s;这意味着您将转换所有属性。

如果您想阅读有关 CSS3 过渡的内容,请点击以下链接: http://www.w3.org/TR/css3-transitions/

关于css - :targeting sibling? sibling 的过渡高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13781553/

相关文章:

html - 将所有 div 保持在同一位置

javascript - 选项卡 anchor 链接无法正常工作

java - 如何使用Selenium和Java从html中提取文本2?

javaScript 显示隐藏功能在显示从 phpMyAdmin 获取数据的 Accordion 时存在一些问题

CSS。中断 Bootstrap 按钮内的文本

使用 querySelectorAll() 的 JavaScript Accordion 菜单

html - 在 Bootstrap 4 导航栏菜单系统上进行调整

css - 我可以合并 :nth-child() or :nth-of-type() with an arbitrary selector?

css - CSS 选择器应该包含来自 DOM 的元素吗?

css - 为什么设置为透明时 html 在 Chrome 中选择背景颜色为黑色?