超详细的纯CSS的照片墙特效

你好,欢迎来到Amy的第一篇博客呀~ 此博客纯属个人原创哦~
前些天在公开课上讲过一个类似于拍立得的照片特效,然后在一个页面上放了多张就形成了一个照片墙,效果如下:

鼠标悬浮到照片上还可以将图片进行缩放,底部文字也可以进行更改哦~现在我们就来详细讲解一下吧

注意事项

个人使用的开发工具:Hbuilder
(小伙伴们注意哦~我们前端并不是那么依赖开发工具用记事本都可以写,所以这里使用什么编辑器看个人习惯啦)
浏览器:Google Chrome (谷歌)

网页基本布局


使用Hbuilder的懒人的快捷键:

再按下‘tab’键即可出现。
因为我们放的是多张照片所以直接采取的无序列表的方式,然后a标签包裹图片呢是因为我们可以对其进行设置,通过在href属性这里加入地址使得页面跳转,后面我们也可以让title的值在白框底部显示。我们其实可以依据每张照片是什么来添加不一样的title值的哦~

样式设置

html,body,ul{margin: 0;padding: 0;
}

这样设置是因为浏览器默认会产生内边距和外边距,不设置会影响整个页面的美观与后面的布局。那么有的同学可能又会问了为什么不直接用*通配符,这里呢,给大家说下如果采用通配符做全局适配,我们需要把所有的标签都遍历一遍,当网站较大时,样式比较多,这样写就大大的加强了网站运行的负载,会使网站加载的时候需要很长一段时间,所以我们实际开发中不会那样写的。

ul,li{list-style: none;
}

因为我们的无序列表下面的li会有默认的自带的一个小圆点的样式,我们这里是对其样式进行去除。

/*将每个li标签转化成行元素  因为我们到时候是将这些照片并排来排列显示  */
ul li{display: inline;
}
/*再给ul设置一下宽度值和margin   margin四个值依次是上右下左 顺时针方向*/
ul{width: 970px;margin:0 0 18px 10px ;
}
/*然后可以设置图片宽度,在没设置之前图片是占满了全屏*/
ul img{display: block;/*转为块元素*/width: 190px;margin-bottom: 12px;
}
/*再接着给图片设置边框  注意我们这里是用a标签包裹了img图片  所以我们如果要对图片进行留白边操作的话就设置a标签*/
ul a{background-color: #FFFFFF;display: inline;/*转为行元素*/float: left;/*左浮动*/width: auto;margin: 0 0 27px 30px;padding: 10px 10px 15px;/*上内边距是 10px; 右、左内边距是10px;下内边距是 15px*/text-decoration: none;font-size: 17px;color: #333333;/*这里设置的box-shadow四个值意思是:水平位移0;垂直位移3px;模糊半径6px;阴影颜色rgba(0,0,0,0.25)*/box-shadow: 0 3px 6px rgba(0,0,0,0.25) ;-webkit-box-shadow: 0 3px 6px rgba(0,0,0,0.25);-moz-box-shadow: 0 3px 6px rgba(0,0,0,0.25);-o-box-shadow: 0 3px 6px rgba(0,0,0,0.25);-ms-box-shadow: 0 3px 6px rgba(0,0,0,0.25);
}

对了,这里要告诉大家的是:rgba括号中前3个数字代表着 red green blue三种颜色的rgb值,0-255,最后一个是设定这个颜色的透明度即alpha值。范围从0到1,越接近1,代表透明度越低。然后我们还要考虑到浏览器的一个兼容性。-webkit代表谷歌【chrome】/苹果【safari】内核识别码;-moz代表火狐【firefox】内核识别码;-o代表欧朋【opera】内核识别码;-ms代表【ie】内核识别码。
到这一步我们已经完成了给每一张图片添加白框的设置了。然后我们再来在白框底部获取到之前在a标签里面写的title里面的值,让其在页面上显示我们就可以通过content: attr(title);来获取,但是呢,我们要注意的是content只能使用在:after和:before之中。它用于在元素之前或者元素之后加上一些内容。

ul li a:after{content: attr(title);
}

我们的照片墙到这里已经差不多了,就是方方正正的显示了。接着我们为了让它好看点再来进行一些设置,比方说倾斜角度,以及鼠标悬浮在上面有缩放的动画效果。

ul li:nth-child(even) a {-webkit-transform: rotate(2deg);-moz-transform: rotate(2deg);-ms-transform: rotate(2deg);transform: rotate(2deg);
}
ul li:nth-child(5n) a {-webkit-transform: rotate(5deg);-moz-transform: rotate(5deg);-ms-transform: rotate(5deg);transform: rotate(5deg);position: relative;right: 5px;
}
ul li:nth-child(8n) a {position: relative;top: 8px;right: 5px;
}
ul li:nth-child(11n) a {position: relative;top: 3px;right: -5px;
}

:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型(第一个子元素的下标是 1)。even 用于匹配下标是偶数的子元素的指定。这里你可以依据你自己想要的图片来设置指定倾斜的哦~
transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。具体如何倾斜我们可以通过下面这个链接来了解详情。
link.
然后再想到鼠标悬浮在图片上面时有个图片放大的动画效果
所以可以:通过a标签的hover这样一个伪类来设置。

ul li a:hover{transform: scale(1.25);-webkit-transform: scale(1.25);-moz-transform: scale(1.25);-ms-transform: scale(1.25);-o-transform: scale(1.25);/*为了使放大效果更佳美观  所以我们也可以将鼠标悬停时的阴影(透明度这一块)加点改变*/box-shadow: 0 3px 6px rgba(0,0,0,0.25) ;-webkit-box-shadow: 0 3px 6px rgba(0,0,0,5);-moz-box-shadow: 0 3px 6px rgba(0,0,0,5);-o-box-shadow: 0 3px 6px rgba(0,0,0,5);-ms-box-shadow: 0 3px 6px rgba(0,0,0,5);
}

上述代码给大家讲一点是:scale(x,y) 对元素进行缩放,X表示水平方向缩放的倍数 |,Y表示垂直方向的缩放倍数。Y是一个可选参数,没有设置的话,则表示X,Y两个方向的缩放倍数是一样的。并以X为准。

好了,我们前端一个简单的纯CSS的照片墙效果就出来了。你学会了嘛?

超详细的纯CSS的照片墙特效相关推荐

  1. 纯CSS翻牌图片特效

    使用图片 <!doctype html> <html> <head> <meta charset="utf-8"> <titl ...

  2. 纯css实现照片墙3D效果

    每张照片都有美丽的故事.美好的回忆.家居中的照片墙则帮你展现出这些承载着家庭重要记忆的照片,除了用画框装饰照片挂在墙上外,照片墙还可以演变为手绘照片墙.也经常在网上看到一些关于照片墙的特效案例,决定自 ...

  3. 纯css制作烟花特效

    此文提供了代码展示烟花绽放的效果,通过css3的动画完成效 HTML <div id="container"><div class="firework- ...

  4. 超详细的html+css基础知识树状图~HTML标签

    前言 学习任何新知识,最重要的永远都是搭建属于自己的知识框架,随后学习的细碎知识点往框架里面填入,最后形成一棵属于自己的知识大树.本系列的博客专注更新总结好的思维导图,希望可以帮助大家快速理清知识结构 ...

  5. Python全局变量和局部变量(超详细,纯干货,保姆级教学)

    全局变量定义: 在函数外部定义的变量.所有函数内部都可以使用这个变量. 局部变量定义: 在函数内部定义的变量.这个变量只能在定义这个变量的函数内部使用. 第一种:global定义全局变量在自定义函数内 ...

  6. html如何做滑动门效果,纯css实现滑动特效(滑动门)

    [实例简介] [实例截图] [核心代码] 无标题文档 *{margin:0;padding:0;} img{border:none;} .dabox{ width:1236px; height:350 ...

  7. 你不知道的CSS妙用,纯CSS实现炫酷照片墙

    演示地址:https://www.albertyy.com/2020/6/photo.html 原始效果: 鼠标经过效果: 鼠标点击效果: 代码: <!DOCTYPE html> < ...

  8. 纯css阴阳旋转js特效代码

    下载https://yy123.ink/frontDetail/4629下载 纯css阴阳旋转特效代码 dd:

  9. 超棒的跨浏览器纯CSS动画实现 - Animate.css

    为什么80%的码农都做不了架构师?>>>    日期:2012-8-12  来源:GBin1.com 在线演示  本地下载 通常情况下如果需要生成web动画效果的话,我们肯定会考虑使 ...

最新文章

  1. Windows Server 2008正式版[微软官方下载地址+官方语言包]
  2. 【数据结构】邻接矩阵及其实现
  3. python语法基础题输出倒三角图案,【趣味shellamp;amp;python】倒三角控制台输出图形...
  4. hadoop 1.x升级至hadoop-2.2.0记录
  5. 如何确定一个IAR工程所使用的IAR版本
  6. 远程桌面Web连接访问及端口更改方法
  7. 跟多导出数据库的方法
  8. python扫描ip的端口打开情况
  9. 您是否敢更改HashMap实现?
  10. Ubuntu安装之各种坑
  11. php获取qq头像地址,使用PHP语言通过邮箱获取全球公认的Gravatar头像地址
  12. cad尺寸标注快捷键_CAD软件中如何修改设置CAD标注尺寸的值?
  13. FAT文件系统介绍以及FatFs的移植
  14. 如何写论文中的相关工作部分
  15. beyong经典之作
  16. python Beautifulsoup4爬取凡人修仙传仙界篇连载中文章并生成txt
  17. Count Min Sketch: from Finding the Majority Element problem to heavy hitter problem,统计元素频率的利器
  18. 图文档管理系统-让企业图文档管理“井井有条”
  19. 7-172 元宵花灯
  20. Ubuntu18.04屏幕分辨率问题

热门文章

  1. 微软键鼠外设八款齐发 创新蓝色LED光源
  2. 飞鸽传书源码分析-程序启动过程
  3. 短视频剪辑教程自学难吗?子苗教育
  4. python入门小程序之列表练习
  5. 开发微领地小秘系统的公司
  6. Stm32MP157-Linux(Ubuntu)——Ubuntu入门
  7. 部署Kubernetes单机版
  8. 毕业设计Java web塞北村镇旅游网站设计源码+论文+视频+截图
  9. java嵌套循环_java基础之嵌套循环
  10. http 4xx,5xx Server error