30个CSS碎片拼出动物动态图--这不仅仅是皮囊!

大家好,欢迎来到程序视点!

今天将给大家分享一部由CSS技术实现的作品。它将再一次证明CSS的强大力量。

欣赏

这是一部由阿姆斯特丹设计师Bryan James通过30张CSS碎片拼图展现30种濒临灭绝动物的网站。

有生活在夏威夷岛林地中的夏威夷乌鸦。 有栖息于墨西哥西部加利福尼亚湾中的小头鼠海豚。 原产于巴西大西洋沿岸地区的金狮面狨。 印度中部繁殖生活的林斑小鸮。 大西洋到墨西哥湾都有分布的肯氏龟。 生活在非洲西南岸的黑脚企鹅。 还有喜欢的南非白纹羊弯角剑羚。 以及原产于东南亚及澳洲大陆鸟翼蝶鸟翼蝶。 其他珍稀动物形象,请查阅地址: www.webhek.com/misc-res/sp...

欣赏完作品,我们是不是应该想想怎么来实现了?

实操

作品中的拼图碎片其实就是一个一个的不规则多边形。同时,它们还伴随着动画变形和过渡效果。

在CSS中,clip-path家族的polygon就提供了如此方便和强大的效果。clip-path属性允许你将元素裁剪为基本形状或 SVG ,从而在CSS中制作复杂形状。

polygon规则限制少,任意多边形,只要边是直的就行,比圆之类的图形发挥的空间更大。通过polygon(x1 y1, x2 y2, ..., xn yn)定义了每一个点的坐标(x轴和y轴位置),起点是从左上角开始计算的,可以用百分百,也可以用px等单位。现在,让我们先来画一个三角形。

JavaScript 复制代码
<div style="margin: 5rem auto;
  width: 150px; 
  height: 150px; 
  background-color: red;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);"></div

运行上面代码将立即获得下图的三角形。

clip-path还可以配合动画和过渡属性使用:两个或更多个具有相同点数的剪辑路径形状可以使用CSS的动画(Animations)和过渡(transitions)。让我们一起来给三角形加上动画和过渡效果。 动画:正三角变为倒三角。注意polygon的动画变形的一个重要条件:坐标的数目变形前后必须一致。

过渡:hover的时候background-color颜色由红色过渡到黄色。

JavaScript 复制代码
<div class="turning"></div>
<style>
    .turning {
    margin: 5rem auto;
    width: 150px; 
    height: 150px; 
    background-color: red;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    transition: all 1s ease;
    -webkit-transition: all 1s ease; 
}
.turning:hover {
    animation: clipDiamondIn 1s;
    background-color: yellow;
    clip-path: polygon(100% 0, 50% 100%, 0% 0%);
}
@keyframes clipDiamondIn {
    from  {
        background-color: red;
    }
    to {
        background-color: yellow;
    }   
}
</style>

这里还在整理了一套使用polygon来实现如下图形的代码。欢迎大家取用。 polygon对点的数目没有限制,能实现的图形非常丰富。有限制的反而是我们的想象力。

本文所展示的实例也仅仅是polygon应用的冰山一角。

最后,对上文中动物拼图源码感兴趣的小伙伴,请关注下方地址。

www.species-in-pieces.com/

如文章对你有所帮助,别忘了点赞、留言、分享哦!

相关推荐
Danny_FD14 分钟前
Vue2 + Node.js 快速实现带心跳检测与自动重连的 WebSocket 案例
前端
uhakadotcom15 分钟前
将next.js的分享到twitter.com之中时,如何更新分享卡片上的图片?
前端·javascript·面试
韦小勇16 分钟前
el-table 父子数据层级嵌套表格
前端
奔赴_向往18 分钟前
为什么 PWA 至今没能「掘进」主流?
前端
小小愿望18 分钟前
微信小程序开发实战:图片转 Base64 全解析
前端·微信小程序
掘金安东尼20 分钟前
2分钟创建一个“不依赖任何外部库”的粒子动画背景
前端·面试·canvas
电商API大数据接口开发Cris20 分钟前
基于 Flink 的淘宝实时数据管道设计:商品详情流式处理与异构存储
前端·数据挖掘·api
小小愿望22 分钟前
解锁前端新技能:让JavaScript与CSS变量共舞
前端·javascript·css
程序员鱼皮25 分钟前
爆肝2月,我的 AI 代码生成平台上线了!
java·前端·编程·软件开发·项目
天生我材必有用_吴用38 分钟前
一文搞懂 useDark:Vue 项目中实现深色模式的正确姿势
前端·vue.js