这个小练习也泉源于b站up小K师兄,大家可以通过下面的链接学习哦~up讲的非常详细。
纯CSS写一个简单酷炫的照片墙结果~
先看一下这个照片墙的结果:
1.鼠标没有放到图片上时,照片同比例,每张照片都有倒影的结果。
2.然后是鼠标放置图片上的结果,图片被放大,其他照片旋转缩放,这里必要注意,左右双方的照片是对称倾斜的。
HTML结构
- <style>标签内包含了CSS样式,用于定义页面的样式。
- <body>标签内包含了一个<div>元素,类名为container,这个容器包含了多个<div>元素,每个<div>元素类名为box,每个box元素内包含一个<img>元素,用于展示图片。
CSS样式
- *选择器用于重置所有元素的默认样式,包括margin和padding,并设置box-sizing为border-box,这样元素的宽度和高度就包括了边框和内边距。
- body选择器设置了display为flex,并使用justify-content和align-items属性将内容水平和垂直居中,同时设置了最小高度为100vh,背景颜色为#1a252c。
- .container选择器设置了容器的样式,包括position、display、justify-content、align-items和transform-origin属性,用于实现3D翻转结果。
- .container .box选择器设置了每个图片容器的样式,包括宽度、高度、位置、过渡结果和反射结果。
- .container .box img选择器设置了图片的样式,包括绝对定位、宽度和高度。
- .container:hover> :not(:hover)选择器用于在鼠标悬停在容器上时,除了悬停的图片容器之外的其他图片容器会向两侧移动,并添加阴影结果和3D旋转。
- .container .box:hover~.box选择器用于在鼠标悬停在某个图片容器上时,其他图片容器会进行3D旋转。
- .container .box:hover选择器用于在鼠标悬停在某个图片容器上时,该图片容器会放大并旋转。
实现原理
这段代码通过CSS的transform属性和transition属性实现了3D翻转结果。当鼠标悬停在容器上时,除了悬停的图片容器之外的其他图片容器会向两侧移动,并添加阴影结果和3D旋转。当鼠标悬停在某个图片容器上时,该图片容器会放大并旋转。
完整的代码:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |