实现效果

步骤

1.初始index.html

为了建立第一张照片,也就是最上面的那张。我们只需要添加一个div,里面包含照片的img。就这么多,剩下的效果都是通过CSS来实现的。确保div的class为stackone。

Photo Stack

* {

margin: 0;

padding: 0;

}

html,

body {

width: 100%;

height: 100%;

overflow: hidden;

}

.stackone {

--img-width: 480px;

--img-height: 320px;

border: 6px solid #fff;

float: left;

height:var(--img-height);

width: var(--img-width);

margin: 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);

}

初始的效果如下:

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-transform: rotate(-5deg);

-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);

}

最后大功告成,具有层次感:

原创说明

android堆叠效果相册_CSS实现照片堆叠效果相关推荐

  1. android 从相册选择,Android开发从相册中选取照片

    最近项目在做一个功能:就是需要从用户选择头像跳转到相册选择图片,这应该是一个很简单的需求,但是在网上搜了一下有好多都讲的很乱,其实用几十行代码就可以实现的为什么要说的那么复杂呢,下面就简单说一下喽. ...

  2. Android相册中搜索功能,Android开发从相册中选取照片的示例代码

    最近项目在做一个功能:就是需要从用户选择头像跳转到相册选择图片,这应该是一个很简单的需求,但是在网上搜了一下有好多都讲的很乱,其实用几十行代码就可以实现的为什么要说的那么复杂呢,下面就简单说一下喽. ...

  3. Android 仿微信显示的聊天照片

    Android 仿微信显示的聊天照片 Android 仿微信显示的聊天照片,效果如下图所示: 这种显示的样式就是和微信的显示照片的样式是一样的,微信的实现我不知道是否和我一样,今天我来和大家介绍一下我 ...

  4. Shape Collage 傻瓜式制作漂亮的照片堆叠拼贴效果图片的软件

    在网上经常会见到一些漂亮的照片堆叠拼贴效果的图片,用来作为相册封面或一个综览展示都是相当不错的.但对于没有学习过 PhotoShop 的人来说,想要制作那样的效果的确有点难度.今天异次元给大家介绍的这 ...

  5. Photopile JS – 帮助你实现精致的照片堆叠效果

    Photopile JS 是模拟照片散布堆叠在一起的 JavaScript/jQuery 图片库.点击缩略图,照片会弹出放大 ,再次点击照片会返回.缩略图是可拖动的,允许照片深深的堆在一起而不被覆盖, ...

  6. html 图片重叠效果,CSS实现照片堆叠效果的实例代码

    实现效果 步骤 1.初始index.html 为了建立第一张照片,也就是最上面的那张.我们只需要添加一个div,里面包含照片的img.就这么多,剩下的效果都是通过CSS来实现的.确保div的class ...

  7. 使用 CSS3 伪元素实现立体的照片堆叠效

    CSS3 里引入的伪元素让 Web 开发人员能够在不需要额外添加 HTML 标签的情况下制作出复杂的视觉效果.例如,:before 和 :after 这个两个 CSS3 伪元素就可以帮助你实现很多有趣 ...

  8. Android学QQ空间相册浏览类型横向滑动效果显示多图片MyHorizontalScrollView

    Android学QQ空间相册浏览类型横向滑动效果显示多图片MyHorizontalScrollView 我们来定制一下吧 布局文件:activity_main.xml <LinearLayout ...

  9. Android学习-运用手机多媒体-通知使用技巧、调用摄像头拍照、从相册中选取照片、播放音频和视频文件(MediaPlayer、VideoView)

    android提供了一系列的API,使得我们可以在程序中调用很多的多媒体资源,从而编写出更加丰富多彩的应用程序. 使用通知 通知(Notification)是Android系统中比较有特色的一个功能, ...

最新文章

  1. android 模板方法模式,安卓设计模式(七)模板方法模式
  2. ES6关于Promise的用法
  3. 【CSON原创】HTML5游戏框架cnGameJS开发实录(精灵对象篇)
  4. The python debugger调试(PDB)的简介
  5. gdb core调试
  6. 很慢怎么办_手机信号满格,网速却很慢怎么办?3招教你一键恢复网络
  7. angular5项目端口冲突之解决办法
  8. for ie无效 in js_关于js中for in的缺陷浅析
  9. jquery mobile页面切换效果(Flip toggle switch)(注:jQuery移动使用的数据属性的列表。 )...
  10. 热像仪 二次开发 c++_重庆多功能红外线热像仪方案
  11. 《软件需求分析(第二版)》第 14 章——需求管理的原则和实践 重点部分总结
  12. 16.对极几何——极线约束,收敛相机,平行图像平面,两个立体对 测验_2
  13. jenkins html编辑,Jenkins HTML Publisher插件:Jenkins 1.643没有外部链接
  14. FIFO算法与LRU算法
  15. 手写二叉树的基本操作
  16. turbo码java实现_Turbo码的迭代译码算法的设计与软件实现
  17. Windows无法访问指定设备,路径或文件.您可能没有合适的权限访问这个项目
  18. 工业交换机和普通交换机有什么不同,又有哪些作用和优点
  19. 直播电商“变坏”,从罗永浩们开始
  20. 阿里云安全组 设置数据库仅自己电脑IP可登陆

热门文章

  1. 在java中使用关键字导入包_java的import关键字的使用
  2. Autograd看这一篇就够了!
  3. Python中defaultdict用法
  4. 洛谷 P4823 [TJOI2013]拯救小矮人
  5. 回归(regression)——统计学习方法
  6. Jetbrain系列IDE设置
  7. MQTT 固定报头 中 剩余长度字段的计算
  8. maven的setting文件简单配置
  9. 【JavaScript】变量
  10. 敏捷开发中“可运行软件”的评审标准(兼谈敏捷开发中的迭代中期质量控制)...