页面加载完成后再执行过渡动画

Avatar of Chris Coyier
Chris Coyier 发布

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

如果您曾经在页面上的结构元素上使用过 CSS 过渡,您可能会注意到在页面加载并进行布局时发生过渡的情况。

我遇到的问题的简短视频

为了解决这个问题,我只是在 body 元素上添加了一个名为“preload”的类。

<body class="preload">

然后确保不会发生任何过渡

.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
}

然后在页面加载时删除该类

$(window).load(function() {
  $("body").removeClass("preload");
});

效果还不错。最好能够在页面加载时无需 JavaScript 即可阻止或触发动画/过渡,但可惜不行。