javascript - CSS translateY 正在扩展文档长度

标签 javascript css transform

我正在尝试使用 CSS 将我网站的内容翻译成屏幕外的内容,并在加载文档时将其动画化。

但是在加载页面时,文档长度会垂直延伸到要翻译内容的底部。这似乎在页面上停留了一会儿后就消失了,但我显然想一起删除这个问题。

这是我对内容的样式,它在页面加载完成时添加类 .load

main {
    transform:translate3d(0,100%,0);
    -moz-transform:translate3d(0,100%,0);
    -webkit-transform:translate3d(0,100%,0);
    transition: transform 800ms cubic-bezier(.17,.67,.12,.96);
    -moz-transition: -moz-transform 800ms cubic-bezier(.17,.67,.12,.96);
    -webkit-transition: -webkit-transform 800ms cubic-bezier(.17,.67,.12,.96);
}
main.load {
    transform:translate3d(0,0,0);
    -moz-transform:translate3d(0,0,0);
    -webkit-transform:translate3d(0,0,0);
}

我已经多次完成类似的事情,没有任何问题,但我似乎无法弄清楚这有什么不同。任何帮助将不胜感激!

最佳答案

您的选择:

  1. 使用 z-index 和重叠内容,在翻译元素覆盖的地方添加内容。当它滚动到您可以将其从其他元素下翻译出来。
  2. 改为从侧面翻译。这样你就可以使用 overflow-x:hidden 并且仍然可以垂直滚动
  3. 使用 display:nonetransition: opacity .3s(带前缀)和 opacity:0,等待元素可见在页面上(使用 javascript 检测),然后更改为 display:blockopacity:1
  4. 绝对定位元素。这将使元素脱离流程,从而不会占用滚动空间(推荐)

此外,没有理由使用translate3d,你可以只使用translateY(100%),它不会强制硬件加速

关于javascript - CSS translateY 正在扩展文档长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24439834/

相关文章:

python - 从 group by 输出转换为 pandas 中的单独列

java - 如何使用 javax.xml.transform.Tansformer 类在属性值周围打印单引号而不是双引号?

javascript - 如何检查 Chrome 扩展程序中是否启用了暗模式

javascript - D3 x 和 y 坐标应用于最后附加的元素而不是组

css - 在没有 Compass 混入的情况下将 SCSS 转换为 SCSS

html - 响应图像网格上的动态高度?

jquery - 背景不申请位置固定div的父元素

jquery - jQuery 中的多种变换动画

javascript - jQuery 和 HTML5 无值(数据)属性

javascript - JS 中的闭包问题