css如何实现白光划过效果

有时候在浏览网站的时候,会发现有图片鼠标经过会有移到白光闪过,这个效果还是比较不错的,具体怎么实现的呢,如下

有时候在浏览网站的时候,会发现有图片鼠标经过会有移到白光闪过,这个效果还是比较不错的,具体怎么实现的呢,如下

1、html部分

我们要放置一张图片,用一个div包裹起来:

<div class="highlight-box">
	<img src="images/example.jpg" alt="" />
</div>

2、设置CSS样式

.highlight-box {
	width: 300px;
	height: 120px;
	overflow: hidden;
	position: relative;
}

.highlight-box img {
	width: 100%;
	height: 100%;
}
.highlight-box:before {
	display: block;
	/*注意这里top和left,让白光移动到图片左上角,
	后续的划过动画也是依靠这两个属性*/
	top: -200%;
	left: -100%;
	/*定义白光的宽高*/
	width: 50%;
	height: 300%;
	/*旋转角度,你也可以调整*/
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	/*使用渐变来实现白光*/
	background: -webkit-linear-gradient(left, rgba(255, 255, 255, .05) 20%, 
            rgba(255, 255, 255, .6) 65%, rgba(255, 255, 255, .05) 100%);
	background: linear-gradient(left, rgba(255, 255, 255, .05) 20%,
            rgba(255, 255, 255, .6) 65%, rgba(255, 255, 255, .05) 100%);
	content: '';
	z-index: 2;
	position: absolute;
}

我们使用渐变(linear-gradient)来实现白光效果,同时为了斜向划过,使用transform: rotate(45deg)将其旋转45度。

上面的height、width、top和left,你也可以使用具体的像素值,不过建议采用百分比,这样可以重复使用,而不需手动改变太多值。

图片有了,白光有了,接下来就是让白光动起来:

.highlight-box:hover:before {
    //这里省略了私有前缀代码
	animation: crossed .5s linear;
}

@keyframes crossed {
	0% {
		top: -200%;
		left: -100%;
	}
	100% {
		top: -50px;
		left: 100%;
	}
}

以上这篇css如何实现白光划过效果就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持芦苇派。

原创文章,作者:ECHO陈文,如若转载,请注明出处:https://www.luweipai.cn/html/1667967571/

  • 1