css光影一闪而过 css 色泽效果

先看这个css效果。不知道什么时候,这样的css效果小小流行了一把。最早我是在京东看见的。今天在唯品会上面又看见了。

于是按捺不住,我自己也动手写了一个。保存到自己的css库里面,方便日后调用!

1.先准备一个div。然后准备好一张图片吧,因为图片的展示效果好一点。

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Szy1000</title>
</head>
<body>
	<div class="box">
		<img src="2.jpg" alt="">
	</div>
</body>
</html>

2.接下来就全部是CSS的事情了。先给外面的div定好宽高后。一定要加个相对定位和超出隐藏。

.box{
			position: relative;
			margin: 50px auto;
			width: 400px;
			height: 200px;
			background-color: red;
			overflow: hidden;
			cursor: pointer;
		}

3.接下来就是光影效果了。我选择用伪类去做。 让它绝对定位,然后改变left的值。width的话就随你喜欢了。至于光影效果全部是linear-gradient的功劳。有兴趣的同学可以自己去调了。

.box:after{
			position: absolute;
			left: -100%;              /*改变left的值,让其相对box影藏*/
			top: 0;        
			width: 30%;
			height: 100%;
			content: "";
			/* Safari 5.1 - 6.0 */
		  background: -webkit-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);
		  /* Opera 11.1 - 12.0 */
		  background: -o-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);
		  /* Firefox 3.6 - 15 */
		  background: -moz-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);
		  /* 标准的语法 */
		  background: linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);
	          transform: skewX(-45deg);
//          transition: 1s ease;  /*图一效果*/

4.加上hover 改变其left的值 这样就出现了一闪而过的效果。注意transition的属性直接加到after伪类上面。这样的话在鼠标离开的时候,光影又会往原来的方向闪一次。如图一。 放到hover后的after上面。如下图二。两种效果自行选择!

图一:


图二:


.box:hover:after{
			left: 150%;
	    transition: 1s ease;  /* 图二效果*/
		}

最后,由于git录制的软件 有丢帧现象。所以,难免有些卡顿。可以下载源码,进行本地预览。

顺便附上全部代码!

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		body{
			background-color: #ccc;
		}
		.box{
			position: relative;
			margin: 50px auto;
			width: 400px;
			height: 200px;
			background-color: red;
			overflow: hidden;
			cursor: pointer;
		}
		img{
			width: 100%;
		}
		.box:after{
			position: absolute;
			left: -100%;                    /*改变left的值,让其相对box影藏*/
			top: 0;
			width: 30%;
			height: 100%;
			content: "";
			/* Safari 5.1 - 6.0 */
		  background: -webkit-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);
		  /* Opera 11.1 - 12.0 */
		  background: -o-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);
		  /* Firefox 3.6 - 15 */
		  background: -moz-linear-gradient(left,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);
		  /* 标准的语法 */
		  background: linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);
	    transform: skewX(-45deg);
		}
		.box:hover:after{
			left: 150%;
	    transition: 1s ease;
		}
	</style>
</head>
<body>
	<div class="box">
		<img src="2.jpg" alt="">
	</div>
</body>
</html>


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值