javascript - 动画页面回流?

标签 javascript html css css-transitions

我正在切换 div 的内容(淡出旧内容,然后淡入新内容),因为它们的内容略有不同,所以当它们改变时,它们下面的所有内容都会发生不和谐的重组。

我的问题是,有没有办法让这个 Action 流畅?

我怀疑几乎唯一可行的方法是使用 javascript 提前确定开始和结束元素的高度(在我的例子中,我只处理垂直对齐偏移的 block ),并直接分配这些值。一旦我这样做了,我确信 CSS3 过渡将应用一个愉快的动画。

有没有办法在不指定明确尺寸的情况下获得这个?我似乎记得在某个时候体验过元素以动画方式在页面上移动。这让我希望仅使用 CSS 即可完成。

最佳答案

我通常会创建一个包含新内容的临时(不可见)元素,以便计算其高度。之后,可以将原始元素从其当前高度动画化到新计算的高度。

重要的是创建的临时元素是原始元素的 相同兄弟 以便所有必要的样式级联并正确继承(例如,如果不计算新的内容高度就没有用'应用了正确的font-size)

虽然可以使用 CSS3 (transition: height .5s ease;) 在明确设置的不同高度之间设置动画(即如上所述使用 JS),但它不适用于隐式设置的不同高度(即用 height:auto)

修改元素内容

关于javascript - 动画页面回流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11488434/

相关文章:

html - 如何创建带有 Logo 、搜索框和链接的响应式导航栏并且仍然响应?

html - 字体图标内的居中文本

javascript - Spotfire Javascript 输出消失

javascript - 输入标签上的 aria-label 无法读取 Android chrome

javascript - 如何在 Javascript 中检测 SSL 证书并将其添加到浏览器?

html - 自动换行链接,使其不会溢出其父 div 宽度

css - 文本适合我网页中的框

javascript - 在 ASP.NET : Is there a security issue with my implementation? 中用 JavaScript 调用 Web 服务 有没有更好的方法?

javascript - 根据光标位置执行不同的功能(javascript)

javascript - mmenu 未在链接页面上关闭