跟着B站大佬学习系列之HTML+CSS制作图片悬浮效果

首先上效果图:
在这里插入图片描述

HTML
<div class="image middle">
	<img src="img/yyqx.jpg" alt="易烊千玺">
	<div class="image-content">
		<h1>易烊千玺</h1>
		<div class="icons">
			<i class="icon fa fa-heart"></i>
			<i class="icon fa fa-comment"></i>
			<i class="icon fa fa-share"></i>
		</div>
	</div>
</div>

图标使用的是Font Awesome,以前常用阿里巴巴iconfont,比这个麻烦一点
这个只需要在header中引入<link href="//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">即可

css
*{
	margin: 0;
	padding: 0;
}
body{
	background-color: #e0e0e0;
}
.middle{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.image{
	width: 440px;
	height: 330px;
	overflow: hidden;
	cursor: pointer;
}
.image-content{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 40px;
	box-sizing: border-box;
}
.image-content>h1{
	transform: translateY(50px);
	transition: 0.4s;
}
.image:hover .image-content>h1{
	transform: translateY(0px);
}
.icons{
	position: absolute;
	right: 10px;
	bottom: 40px;
}
.icon{
	color: #333;
	font-size: 22px;
	margin: 0 6px;
	transform: translateY(80px);
	transition: 0.4s;
}
.image:hover .icon{
	transform: translateY(0px);
}
.icon:nth-child(1){
	transition: transform 0.4s 0.05s,color 0.4s; 
}
.icon:nth-child(2){
	transition: transform 0.4s 0.1s,color 0.4s; 
}
.icon:nth-child(3){
	transition: transform 0.4s 0.15s,color 0.4s; 
}
.icon:hover{
	font-size: 25px;
	color: blue;
}

接下来绝妙的事情发生了

.image-content::before{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: rgba(255,255,255,0.7);
	width: 100%;
	height: 0;
	clip-path: polygon(0 100%,100% 0,100% 100%);//画三角形
	transition: 0.5s;
}
.image-content:hover::before{
	height: 140px;
}

不得不说clip-path: polygon(0 100%,100% 0,100% 100%);这个真是妙啊
这里介绍的十分详细clip-path

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值