【问题标题】:CSS3 Transitions on reflow回流时的 CSS3 过渡
【发布时间】:2011-04-13 22:02:54
【问题描述】:

以这个dom为例。

<div id="container" style="transition: width 1s ease-in-out;">
  <div style="width: 400px; display: none;"></div>
  <div style="width: 200px;"></div> 
</div>

如果我交替隐藏哪个内部 div,我可以触发 CSS3 转换(通过重排)吗?如果可能的话,我可以添加许多内部 div 并在它们之间顺利交替,而不必知道它们的大小。

【问题讨论】:

    标签: css css-transitions


    【解决方案1】:

    我认为仅通过 CSS 是不可能的 - 过渡是不可继承的,因此它们必须应用于有问题的嵌套元素,并且在没有宽度的情况下无法应用宽度过渡,例如嵌套的 div 需要将 width0 设置为在悬停或 JS 单击或某些事件时在它们之间转换

    但是我认为我真的没有理解这个问题;

    #container div {transition: width 1s ease-in-out;}
    

    会将其应用于所有子 div,然后您只需切换显示和宽度,但是您仍然想这样做吗?

    【讨论】:

    • 我正在尝试根据可见的内容转换容器可以具有的两种不同大小。当显示 div #1 时,#container 将在隐藏时重排为 400px 宽 #container 将重排回 200px。但是,这不能通过 css 过渡动画(我知道)
    • 你可以这样做,但我不能设置一个漂亮的例子.. display 本身不会转换,所以只要 CSS display: 属性被切换,变化就会是瞬间,但是如何切换元素的宽度/高度,比如说在悬停时(我知道这里可能涉及脚本,在这种情况下可以编写脚本,但我认为你是在理论上讲?) - sample - 这不是很漂亮,因为我留下了 10px 以便能够保持悬停,但理论可能会成立吗?
    • LOL 这很聪明,我不得不在 FF 中打开它才能看到悬停在这里有点疯狂。我想真正的答案是我应该转换内容,而不是仅仅在页面上显示它。谢谢这是一些很酷的CSS
    猜你喜欢
    • 1970-01-01
    • 2013-05-16
    • 2013-02-13
    • 2012-03-26
    • 2013-03-18
    • 2011-05-05
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多