实现效果
&nbs p;
步骤
1.初始index.ht ML
为了建立 第一张 照片,也就是最上面的那张。我们只需要添加一个div,里面包含照片的 img 。就这么多,剩下的效果都是通过CSS来实现的。确保div的class为stackone。
<!DOCTY PE html> <html lang="en"> <head> < ;m eta charset="UTF-8"> <meta n am e="viewport" content="width=device-width, in IT ial -s cale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie= Edge "> <title>Photo Stack</title> <style> * { m arg in: 0; padding: 0; } html, body { width: 100%; h ei ght: 100%; overflow: hidden; } .stackone { - -i mg-width: 480px; --img-height: 320px; border: 6px solid # fff; float: left; height: VAR (--img-height); width: var(--img-width); mar gin : 50px; position: relative; - webkit -box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); -moz-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); } .stackone img { width: var(--img-width); } </style> </head> <body> <div class="stackone"> <img src=" .. /assets/image/landscape-4378548_960_720. jpg "> </div> </body> </html>
初始的效果如下:
2.The First Pseudo Element
现在我们添加一层底片。我们想得到的效果是:底层图片看上去好像是在顶层照片下面。我们可以用CSS的 伪类 :before来实现。
.stackone :: before { content: ""; height:var(--img-height); width: var(--img-width); background: #eff4de; border: 6px solid #fff; -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); -moz-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); }
此时效果相差甚远
3.完善before
这不是我们想要的效果。如何修复?我们需要给:before加入一些定位,然后设置z-index将它放 在后 面。
.stackone::before { content: ""; height:var(--img-height); width: var(--img-width); background: #eff4de; border: 6px solid #fff; position: absolute; z-index: -1; top: 0px; left: -10px; -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); -moz-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); -webkit -t ransform: rotate(-5 deg ); -moz-transform: rotate(-5deg); -o-transform: rotate(-5deg); -ms-transform: rotate(-5deg); transform: rotate(-5deg); }
此时效果 正常 ,初见端倪
4.The Second Pseudo Element
.stackone: :after { content: ""; height:var(--img-height); width: var(--img-width); background: lightblue; border: 6px solid #fff; position: absolute; z-index: -1; top: 5px; left: 0px; -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); -moz-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3); -webkit-transform: rotate(4deg); -moz-transform: rotate(4deg); -o-transform: rotate(4deg); -ms-transform: rotate(4deg); transform: rotate(4deg); }
最后大功告成,具有层次感:
原创 说明
本篇 文章 迁移自本人于2014年12月29日 16:38:48在CSDN的博客 《css实现照片 堆叠 效果》
源 博客参考 翻译 自 《Use Pseudo Elements to Create an Image Stack Illusion》
Gith ub 项目源码
@H_ 126 _90@
总结
以上是 为你收集整理的 CSS实现照片堆叠效果的实例代码 全部内容,希望文章能够帮你解决 CSS实现照片堆叠效果的实例代码 所遇到的问题。
如果觉得 网站内容还不错, 推荐好友。
查看更多关于CSS实现照片堆叠效果的实例代码的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did200882