当前位置: 首页 > 面试题库 >

如何转换高度:0; 达到高度:自动;使用CSS?

纪畅
2023-03-14
问题内容

我正在尝试<ul>使用CSS过渡制作幻灯片。

<ul>在开始关闭height: 0;。悬停时,高度设置为height:auto;。但是,这导致它只是显示 而不是 过渡,

如果我从height: 40px;到进行操作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>

问题答案:

max-height在过渡中使用,而不是height。并设置一个max-height比您的盒子所能获得的更大的价值。

#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>


 类似资料:
  • 问题内容: 我想使textarea的高度等于其中的文本的高度(并删除滚动条) HTML CSS 问题答案: 可以使用JS实现。 这是一个使用elastic.js的“单行” 解决方案: 更新:似乎不再有elastic.js,但是如果您正在寻找一个外部库,我可以推荐JackMoore的 autosize.js 。这是工作示例:

  • 我有一个标签在UITableViewCell,我想我的高度TableViewCell是自动根据标签高度。

  • 问题内容: 应用后如何检索width和height属性? 例如,旋转后的11x11平方变为17x17(Chrome结果),但是javascript仍返回原始宽度/高度-10x10。 我如何获得17x17? 问题答案: 即使旋转某些东西,它的尺寸也不会改变,因此您需要一个包装纸。尝试用另一个div元素包装div并计算包装器尺寸: 重做: 包装器解决方案无法正常工作,因为包装器未自动调整为内部div的

  • 本文向大家介绍iframe如何自动调整高度?相关面试题,主要包含被问及iframe如何自动调整高度?时的应答技巧和注意事项,需要的朋友参考一下 未跨域时,在iframe中利用他的父窗口对象将本页面的滚动高度设置给iframe的height 跨域时,在iframe中将自己的的滚动高设置在本页面内的一个隐藏于父页面不跨域的iframe的hash值, 在隐藏的iframe中将值取出,同未跨域一样设置到要

  • 问题内容: 我只想有一个侧边栏,该边栏将是窗口高度的100%,但除此之外没有任何作用: 我不想拥有,因为我具有水平可滚动的内容,所以固定的部分将保持不变。 有没有办法做这样的事情,也许有或立场? 问题答案: tl; dr- 添加到您的CSS。 CSS中的百分比值是从某些已经声明了height的祖先继承而来的。在您的情况下,您需要告知边栏的所有父母都必须保持100%的高度。我假设这是的直接子级。 本

  • 问题内容: 在一次采访中有人问我“ css 和?有什么区别?” 有人可以解释吗? 问题答案: 表示元素将具有其父容器的100%高度。 意味着,元素将具有灵活的高度,即其高度将取决于其子元素的高度 考虑以下示例: 高度:100% 将会有 高度:自动 现在将有