真是好东西!一组动感的页面加载动画效果

简介:   如果您曾经访问过 Nicolas Zezuka 和 Active Theory 的出色的设计网站,你可能已经注意到在显示新内容之前动感的页面加载动画了。这种风格的动画效果最近非常流行,因此这篇文章想给你带来一些启示。

  如果您曾经访问过 Nicolas Zezuka 和 Active Theory 的出色的设计网站,你可能已经注意到在显示新内容之前动感的页面加载动画了。这种风格的动画效果最近非常流行,因此这篇文章想给你带来一些启示。

  这个效果的核心是让一个形状在页面窗口中动画显示并有展示活动的指示。当新内容被加载时,形状将以动画显示返回显示的页面。我们将使用 Snap.svg 动画库来实现,因为这个库让我们能够创建复杂的形状和有趣的变形转换效果。

 

 

立即下载      在线演示

 

  需要注意的是,这里的示例只是提供一种思路,动态内容加载是模拟的。另外没有做降级处理,动画和伪元素可能在某些浏览器无法正常工作。

  温馨提示:为保证最佳的效果,请在 IE10+、Chrome、Firefox 和 Safari 等现代浏览器中浏览。

  我们显示遮罩的方式是,定义一个 SVG 路径动画:

<div id="loader" class="pageload-overlay" data-opening="M 0,0 80,-10 80,60 0,70 0,0" data-closing="M 0,-10 80,-20 80,-10 0,0 0,-10">
    <svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 80 60" preserveAspectRatio="none">
        <path d="M 0,70 80,60 80,80 0,80 0,70"/>
    </svg>
</div><!-- /pageload-overlay -->

  我们定义的初始路径在页面中是看不到的,开始和结果路径分别定义在 data-opening 和 data-closing 属性中。正如你所看到的,我们使用的是小型的 viewBox,但我们舒展绘图窗口的宽度和高度为100%,而不是保持长宽比。如果我们没有定义一个闭合的路径,我们将动画回到初始路径。

  请注意,我们也可以添加多个路径(用分号隔开),它允许 SVG 绘制你将在第一演示中看到的步骤明智的动画。 我们设置叠加划分到一个固定的位置,覆盖了整个页面,并通过给 ::before 和 ::after 伪元素添加样式来实现加载提示效果。

.pageload-overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    visibility: hidden;
}
 
.pageload-overlay.show {
    visibility: visible;
}
 
.pageload-overlay svg {
    position: absolute;
    top: 0;
    left: 0;
}
 
.pageload-overlay svg path {
    fill: #fff;
}

  我们在这里使用 visibility,因为使用这些固定的风格定位与指针以及 SVG 的事件可能在移动端有些问题,所以我们通过定位和操纵父 DIV 来代替。 你可能已经注意到,圆形动画也从一个路径到另一个路径变换来实现(当然有其他的实现方式,例如缩放) ,但我们使用以下值来确定圆是响应式( Rseponsive)的:

width="100%" height="100%" viewBox="0 0 80 60" preserveAspectRatio="xMidYMid slice" 

  使用 slice 将保持纵横比,但这样整个页面显示区域都可以被 viewBox 覆盖。我们的示例创建13种效果,但正如你所看到的,可能性是无止境的。我们真的很希望你能获得启发。

 

立即下载      在线演示

 

您可能感兴趣的相关文章

 

本文链接:真是好东西!13个页面加载动画效果 via Codrops

编译来源:梦想天空 ◆ 关注前端开发技术 ◆ 分享网页设计资源

作者:山边小溪
主站:yyyweb.com 记住啦:)
欢迎任何形式的转载,但请务必注明出处。

相关文章
|
9月前
|
JavaScript 前端开发 算法
在JavaScript中,AABB矩形碰撞检测常用于2D游戏
【6月更文挑战第16天】在JavaScript中,AABB矩形碰撞检测常用于2D游戏。通过创建`Rectangle`类并定义`collidesWith`方法检查边界交集,简单高效地判断两个矩形是否相撞。
94 5
|
10月前
|
JavaScript 前端开发 算法
在JavaScript中实现的基本AABB矩形碰撞检测用于2D游戏
【5月更文挑战第14天】在JavaScript中实现的基本AABB矩形碰撞检测用于2D游戏,涉及Rectangle类,包含x,y,width和height属性,以及一个检测碰撞的collidesWith方法。该方法通过比较矩形边界来判断是否相交,返回布尔结果。示例代码展示了如何检测两个Rectangle实例是否发生碰撞。更复杂的场景可能需使用高级算法或物理引擎库。
79 3
|
前端开发 UED
CSS 支持动画效果,可以通过关键帧动画或过渡动画实现动态效果。具体案例解析
CSS 支持动画效果,可以通过关键帧动画或过渡动画实现动态效果。具体案例解析
133 1
|
10月前
|
JavaScript 前端开发
jQuery 第五章(效果,滑动,动画,停止动画)
jQuery 第五章(效果,滑动,动画,停止动画)
101 0
|
前端开发
CSS 漂浮幽灵动画动态展示特效
CSS 漂浮幽灵动画动态展示特效
105 0
|
Web App开发 前端开发 JavaScript
Amazing!巧用 CSS 视差实现酷炫交互动效
Amazing!巧用 CSS 视差实现酷炫交互动效
278 0
|
前端开发 API
前端小练习1:交叉观察器 页面元素入场动画
前端小练习1:交叉观察器 页面元素入场动画
|
存储 图形学
动画系统中的基础动画
动画系统中的基础动画
207 0
|
JavaScript 前端开发
JavaScript 技术篇-一段js代码展示可以随鼠标移动变换样式的卡通人物,动态女生眼睛跟着鼠转动
JavaScript 技术篇-一段js代码展示可以随鼠标移动变换样式的卡通人物,动态女生眼睛跟着鼠转动
449 0
|
JavaScript HTML5 移动开发
带你读《Three. js开发指南: 基于WebGL和HTML5在网页上渲染 3D图形和动画(原书第3版)》之三:学习使用Three.js中的光源
本书将介绍如何直在浏览器中创建漂亮的3D场景和动画,并且充分发挥WebGL和现代浏览器的潜能。首先介绍基本概念和基础组件,然后通过逐渐扩展示例代码逐步深讲解更多高级技术。在本书中读者将学到如何从外部加载3D模型和具有真实效果的材质纹理、学习使用Three.js提供的摄像机组件来实现在3D场景中飞行和走动、如何将HTML5视频和画布作为材质贴在3D模型表面。此外还将学习变形动画和骨骼动画,甚至还会涉及在场景中使用物理模拟的方法,例如重力、碰撞检测等等。