【每日一练】07—CSS实现响应式产品介绍的Hover效果

web前端开发

共 3918字,需浏览 8分钟

 ·

2022-06-17 15:54


写在前面

今天我们练习的这个小项目,在很多产品网站或者个人博客上都会用到,它主要的场景,就是在做一个产品说明或者个人文字介绍说明,这是一个非常实用的小项目。

因为在很早之前,我们如果要实现这样的效果,基本都是要通过PS把它处理成6边形的图片,而且每次如果要修改产品的话,都需要再处理一次图片,还是非常麻烦的。

但是今天我们学会了这个CSS技巧,我们完全不需要麻烦设计了,而且现在各大浏览器都是兼容支持的,所以,不用担心,我们写出来的效果不适用,其实,除了最新的一些属性,或者淘汰的属性,浏览器不支持外,现在很多属性,各大浏览器都是支持的,请放心使用。

好了,说了这么多,我们一起来看一下,今天练习的小项目的最终效果:

以上图片就是页面加载完的默认效果,而下面的图片是鼠标移上去的hover效果。


具体实现代码在后面,大家可以自行取阅学习,练习的图片素材,我放在这里了,请自行下载获取。

图片素材下载地址:

百度网盘:https://pan.baidu.com/s/1-hKOAs6UfYvE67-70HK9UA?pwd=tg8u 提取码: tg8u

HTML代码:
<!doctype html><html><head>  <meta charset="utf-8">  <title>【每日一练】07—CSS实现响应式产品介绍的Hover效果</title></head><body>  <div class="container">  <!-- 01 hexagon begin-->    <div class="hexagon">      <div class="shape">        <img src="img1.png">        <div class="content">          <div>            <h2>主动的人</h2>            <p>主动的人,往往也是更加努力的人,他们的创造力也会更强,因为他们懂得自己的命运在自己手中,不想供手让别人操控自己的命运</p>          </div>        </div>      </div>    </div><!--01 hexagon end-->    <div class="hexagon">      <div class="shape">        <img src="img2.png">        <div class="content">          <div>            <h2>主动的人</h2>            <p>往往运气也会越来越好,因为他们清楚的知道自己想要什么,他们关注自己的目标而努力,因此会朝着目标前进,自然就会运气好,运气越好越努力,越努力运气越好</p>          </div>        </div>      </div>    </div>    <!--02 hexagon end-->    <div class="hexagon">      <div class="shape">        <img src="img3.png">        <div class="content">          <div>            <h2>主动的人</h2>            <p>他们会拥有更多的机会,因为他们知道机会从来都不会从天而降,只有抓住机会才会拥有成功的可能,这个世界有很多机会,就是看机会来临时,你能把握住</p>          </div>        </div>      </div>    </div>    <!--03hexagon end-->    <div class="hexagon">      <div class="shape">        <img src="img4.png">        <div class="content">          <div>            <h2>主动的人</h2>            <p>他们也会更容易成功,因为他们做事情不拖延,没有懒癌症,心态也会更加积极主动,对自己做的事情负责,能够做到今日事今日毕,甚至是提前完成工作与自己的任务</p>          </div>        </div>      </div>    </div>    <!--04 hexagon end-->  </div></body></html>
CSS代码:
*{    margin: 0;    padding: 0;    box-sizing: border-box;    font-family: 'Poppins', sans-serif;}body{  display: flex;  justify-content: center;  align-items: center;  min-height: 100vh;}.container{  position: relative;  display: flex;  flex-wrap: wrap;  justify-content: center;  align-items: center;}.hexagon{  position: relative;  width: 350px;  height: 400px;  margin: 50px 20px 70px;}.hexagon:before{  content: '';  position: absolute;  bottom: -70px;  width: 100%;  height: 60px;  background: radial-gradient(rgba(0,0,0,0.15),transparent,transparent);  border-radius: 50%;  transition: 0.5s;}.hexagon:hover:before{  opacity: 0.8;  transform: scale(0.8);}.hexagon .shape{  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  clip-path: polygon(0 25%, 50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%);  transition: 0.5s;}.hexagon:hover .shape{  transform: translateY(-30px);}.hexagon .shape img{  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  object-fit: cover;}.hexagon .shape .content{  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  display: flex;  justify-content: center;  align-items: center;  background: linear-gradient(45deg, #727373, rgba(99, 104, 107, 0.5));  opacity: 0;  transition: 0.5s;  padding: 20px;  text-align: center;  color: #fff;}.hexagon:hover .shape .content{  opacity: 1;}

写在最后

以上就是每日一练的全部内容,希望今天的小练习对你有用,如果你觉得有帮助的话,请点赞我,关注我,并将它分享给你身边做开发的朋友,也许能够帮助到他。

我是杨小爱,我们明天见。

学习更多技能

请点击下方公众号

浏览 21
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报