摘要:最后丢一个单个图片放大展示的效果,有性趣的同学可以自行研究原理,也很简单的
之前发了两篇关于CSS的文章,大家都比较关注,看来大家对这块东西都是很感兴趣的,现在趁热打铁再来一发~~
简介一个用纯CSS实现的简单幻灯片效果,仅供实验,要看Demo请自备Chrome浏览器,勿用于生产环境,不然后果自付,咩哈哈哈哈哈~~
效果图Demo地址:http://output.jsbin.com/tewuso
技术点效果图录出来很烂,不上传了,请看Demo :(
:target伪类
object-fit属性
原理说明:target伪类可以指定当前锚点目标元素的样式,比如下面:
查看图片
#image-1{ display: none; } #image-1:target{ display: block; }
点一下"显示图片",原本隐藏起来的#image-1就会突然冒出来,是不是很神奇?(噗→_→)
CSS中的object-fit属性在本Demo里面只是辅助作用,其作用是指定object类元素(img、video等)中的实际内容在元素中的填充方式,跟background-size: contain/cover有点点类似。
更具体的介绍请看张鑫旭的文章:半深入理解CSS3 object-position/object-fit属性
既然知道有:target这么个神奇的东西在,那我们完全可以用CSS实现“点一个小图显示一个大图”的效果,再把HTML写得溜~一点,实现上下图连续查看也是可以的。
代码先上HTML部分,可以看到其实这种方式实现的幻灯片效果并不太灵活,每一个上下图按钮都要写出来,当然用程序生成此类代码也是很方便的~
JS Bin
CSS代码,很大部分都是用于定位啊布局什么的,另外还有相当一部分用于过渡动画效果,貌似有点影响性能~
html,body{ height: 100%; margin: 0; padding: 0; overflow: hidden; background-color: #f0f0f0; } .gallery-wrapper{ display: block; list-style: none; width: 800px; height: 400px; margin: 60px auto 0 auto; padding: 10px; background-color: #fff; } .gallery-wrapper li{ display: block; float: left; list-style: none; width: 180px; height: 180px; padding: 10px; } .gallery-wrapper a{ display: block; width: 180px; height: 180px; overflow: hidden; } .gallery-wrapper img{ display: block; width: 180px; height: 180px; object-fit: cover; background-color: #eee; transition: .5s; } .gallery-wrapper a:hover img{ transform: scale(1.1); } .hidden-images-wrapper > div{ position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: rgba(0,0,0,.8); opacity: 0; transition: .6s; pointer-events: none; } .hidden-images-wrapper > div:target{ opacity: 1; pointer-events: auto; } .hidden-images-wrapper img{ display: block; position: absolute; z-index: 3; top: 0; right: 0; bottom: 0; left: 0; width: 740px; height: 500px; max-width: 90%; max-height: 90%; margin: auto; padding: 30px; background-color: #fff; border-radius: 5px; object-fit: contain; transition: .7s; transform: translateY(-30px); } .hidden-images-wrapper div:target img{ transform: translateY(0); } .img-prev, .img-next{ display: block; position: absolute; z-index: 4; top: 0; bottom: 0; height: 50px; margin: auto 0; padding: 0 20px; color: #333; font-size: 16px; line-height: 50px; text-decoration: none; background-color: #fff; } .img-prev:hover, .img-next:hover{ background-color: #eee; } .img-prev{ left: 0; border-radius: 0 5px 5px 0; } .img-next{ right: 0; border-radius: 5px 0 0 5px; } .img-close{ position: absolute; z-index: 2; top: 0; right: 0; bottom: 0; left: 0; cursor: default; }
就这些。。。
最后丢一个单个图片放大展示的效果:http://output.jsbin.com/goyeju/2,有性趣的同学可以自行研究原理,也很简单的
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/49594.html
摘要:最后丢一个单个图片放大展示的效果,有性趣的同学可以自行研究原理,也很简单的 之前发了两篇关于CSS的文章,大家都比较关注,看来大家对这块东西都是很感兴趣的,现在趁热打铁再来一发~~ 简介 一个用纯CSS实现的简单幻灯片效果,仅供实验,要看Demo请自备Chrome浏览器,勿用于生产环境,不然后果自付,咩哈哈哈哈哈~~ Demo地址:http://output.jsb...
摘要:渲染和事件处理通过这个数结构传递。对应的数据适配器分别是。用图形表示如下数据模型和数据流分析数据适配器是数据到的桥梁,连接数据源和。由管理,等在初始化的时候会通过获取一个,这个就是的数据的最终来源,即数据适配器的数据来源。 概述 图库和相机在内部实现上其实是共用的一个app,即Gallery2。它们是Gallery2的两个不同的入口。图库的主要功能是展示和管理设备中的或者网络上的媒...
阅读 3205·2021-09-07 10:10
阅读 3556·2019-08-30 15:44
阅读 2556·2019-08-30 15:44
阅读 2873·2019-08-29 15:11
阅读 2194·2019-08-28 18:26
阅读 2719·2019-08-26 12:21
阅读 1084·2019-08-23 16:12
阅读 2937·2019-08-23 14:57