CSS碎片实现

作者: Eriice | 来源:发表于2016-04-01 10:18 被阅读707次

看到了CSS碎片拼图这个效果,觉得效果十分赞,打算学习一下。


在查看源代码之前,思路是大概是运用animation进行各种变换,通过改变元素background-color来实现阴影的变化。并猜想是否可以通过svg来实现整个图形的运动与变换。


以下均在window下搜狗浏览器的高速模式下操作。f12打开调试工具,首先看到console中说明CSS的dpi并不对应这屏幕的dpi,所以使用dppx为单位。查看资料发现这应该是针对移动端的页面的,暂时不深入研究。有关资料:dpi分辨率

单位‘dppx’
  页面的主要结构是一个容器包含30个<div class="shard-wrap">,这里出现了伪元素。有关资料:伪元素与伪类伪元素用法
伪元素   可以注意到,每隔一段时间,这个伪元素通过新增的animation来实现了每一块三角形闪烁的效果。
伪元素 shimmer

实现CSS碎片拼图效果最重要的属性是clip-path,这个属性实现了图形的裁剪效果。在效果中通过使用clip-path: polygon(x1 y1, x2 y2, x3 y3,...)来获得所需三角形。例子如下:<pre><b><div class="triangle"></div>
.triangle{
width: 100px; height: 100px; background-color: #0AA;
clip-path: polygon(0 100%, 50% 0, 100% 100%);
-webkit-clip-path: polygon(0 100%, 50% 0, 100% 100%);
}
</b></pre>

三角形   当然,也可以裁剪图片。例子如下:<pre><b><img class='beauty' src="image/card-head.jpg" alt="" />
.beauty{
width: 100px; height: 100px;
clip-path: polygon(0 100%, 50% 0, 100% 100%);
-webkit-clip-path: polygon(0 100%, 50% 0, 100% 100%);
}

</b></pre>

三角图片   通过多个不规则三角形就能拼接成一幅图片了。
夏威夷乌鸦   但是,这样拼接成的图片是静态的,而clip-path还有一个隐藏属性,当作用于同一个元素的clip-path的坐标结构相同时,像clip-path:polygon(x1 y1, x2 y2, x3 y3)clip-path:polygon(x4 y4, x5 y5, x6 y6),它们内部都是3组坐标,结构相同,此时,元素的animation能产生连贯的效果。例子如下:<pre><b><img class='beauty' src="image/card-head.jpg" alt="" />
.beauty{
width: 200px; height: 200px;
transition: all 1s;
clip-path: polygon(0 100%, 50% 0, 100% 100%);
-webkit-clip-path: polygon(0 100%, 50% 0, 100% 100%);
}
.beauty:hover{
clip-path: polygon(0 0%, 100% 0, 50% 50%);
-webkit-clip-path: polygon(0 0%, 100% 0, 50% 50%);
}</b></pre>  本来想逆向出这种效果的实现,结果发现作者已经给出了超具体的流程,具体可参阅CSS碎片拼图的实现
  完

相关文章

  • CSS碎片实现

    看到了CSS碎片拼图这个效果,觉得效果十分赞,打算学习一下。 在查看源代码之前,思路是大概是运用animation...

  • 随手收集

    one div实现icon one div 实现动态天气 css实现文字3D CSS实现文本干扰效果 CSS实现文...

  • 60s倒计时

    JS实现 html js css vue实现 html js css

  • CSS布局

    HTML CSS + DIV实现整体布局必备知识利用HTML和CSS实现常见的布局 单列布局 css 实现竖直居中...

  • 【CSS】深入理解 vertical-align

    [CSS碎片知识] 深入理解 vertical-align 参考文章 我对CSS vertical-align的...

  • CSS中特殊效果的实现方案

    相关文章 CSS中渐变特性的研究 CSS中颜色突变的实现方案 CSS中条纹效果的实现方案 CSS中环形效果的实现方...

  • Tab实现

    Css实现 Jquery实现

  • 记环形进度条(静态,非动态从0变到100%,css3实现)

    使用html + css3 + js实现(项目中实现的): html: css : 上述css代码的作用分别介绍一...

  • CSS常用布局实现

    该系列用于整理记录常用的CSS布局实现。 CSS常用布局实现01-水平居中 CSS常用布局实现02-垂直居中 CS...

  • 为你的网页添加深色模式

    使用CSS实现浅色和深色模式 CSS 规范一直在不断发展。尽管在 CSS 新功能的实现很复杂,但是 CSS 工作组...

网友评论

    本文标题:CSS碎片实现

    本文链接:https://www.haomeiwen.com/subject/arfelttx.html