文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

纯CSS如何实现图片百叶窗展示效果

2023-06-08 02:52

关注

这篇文章主要为大家展示了纯CSS如何实现图片百叶窗展示效果,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“纯CSS如何实现图片百叶窗展示效果”这篇文章吧。

首先给大家看一下完成效果

纯CSS如何实现图片百叶窗展示效果

主要思路:其实这个百叶窗还是利用了一种障眼法,我们看上去是鼠标移动上去之后,图片展开了,其实这些图片在原地根本没有动,只不过是我们把这些图片放在了一个列表里,相互叠加,鼠标移动的同时改变列表的宽度。

第一步:构建一个百叶窗框架

html代码:

<div class="container">        <ul>            <li></li>            <li></li>            <li></li>            <li></li>            <li></li>        </ul>    </div>

css代码:

 *{            margin: 0;            padding: 0;        }        .container{            margin: 100px auto;            border:  2px solid #568bc7;            width: 800px;            height: 300px;        }        .container ul{            display: flex;        }        .container li{            width: 160px;            height: 300px;            list-style: none;            border-left: 1px solid #194b8d;        }        .container li img{            display: block;            width: 800px;            height: 300px;        }

需要注意一下:这里的li可能需要手动计算等分的宽度,虽然可以用弹性盒子实现自动等分,但是我后面加了hover之后发现会有BUG,大家可以试试,这里就不使用弹性盒子了
现在得到如下框架:

纯CSS如何实现图片百叶窗展示效果

第二步:插入图片,使用hover做出特效

我这里插入了五张油画

这里我们可以发现图片超过了我们容器的范围

纯CSS如何实现图片百叶窗展示效果

此时我们在外容器中添加,做一个溢出隐藏
overflow: hidden;

纯CSS如何实现图片百叶窗展示效果

这样一个百叶窗就出具规模了
如何让图片和演示GIF一样动起来呢?
这里涉及到一段核心代码

  .container ul:hover li{            width: 40px;        }    .container ul li:hover{            width: 600px;        }

这个Demo 其实是对:hover属性灵活运用的一个练习,
首先要注意,两行代码的顺序不可以更换
首先鼠标移入 ul 的大容器内时,我们首先要让 li 的宽度变小,紧接着触发下一行的hover ,移入到每一个 li 的时候,让 li 的宽度变大

第三步:细节处理

完成以上之后,我们看到整个过程非常的生硬
这里可以加入过渡属性,让变化变得更加平滑 ,同时给每一个 li 的左边框加上一点阴影效果,让他看起来更加的立体

  box-shadow: 0 0 25px #000;transition: all 0.5s;

最后就完成啦

纯CSS如何实现图片百叶窗展示效果

这里是完整代码:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>Document</title>    <style>        *{            margin: 0;            padding: 0;        }        .container{            margin: 100px auto;            border:  2px solid #568bc7;            width: 800px;            height: 300px;            overflow: hidden;        }        .container ul{            display: flex;        }        .container li{            width: 160px;            height: 300px;            list-style: none;            border-left: 1px solid #194b8d;            box-shadow: 0 0 25px #000;transition: all 0.5s;        }        .container li img{            display: block;            width: 800px;            height: 300px;        }        .container ul:hover li{            width: 40px;        }        .container ul li:hover{            width: 600px;        }    </style></head><body>    <div class="container">        <ul>            <li><img src="./img/tq1.jpg" alt=""></li>            <li><img src="./img/tq2.jpg" alt=""></li>            <li><img src="./img/tq3.jpg" alt=""></li>            <li><img src="./img/tq4.jpg" alt=""></li>            <li><img src="./img/tq5.jpg" alt=""></li>        </ul>    </div></body></html>

以上就是关于“纯CSS如何实现图片百叶窗展示效果”的内容,如果改文章对你有所帮助并觉得写得不错,劳请分享给你的好友一起学习新知识,若想了解更多相关知识内容,请多多关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯