溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用CSS3實現(xiàn)按鈕懸停閃爍動態(tài)特效

發(fā)布時間:2021-08-25 09:48:11 來源:億速云 閱讀:222 作者:chen 欄目:web開發(fā)

本篇內(nèi)容介紹了“如何使用CSS3實現(xiàn)按鈕懸停閃爍動態(tài)特效”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

我們先來看看效果圖

如何使用CSS3實現(xiàn)按鈕懸停閃爍動態(tài)特效

下面我們來研究一下是怎么實現(xiàn)這個效果的:

首先是HTML部分,定義一個div容器包裹button按鈕,在按鈕中使用<span>標簽對來包含按鈕文本

<div id="shiny-shadow">
  <button><span>鼠標懸停</span></button>
</div>

如何使用CSS3實現(xiàn)按鈕懸停閃爍動態(tài)特效

然后開始定義css樣式來進行修飾:調(diào)整布局樣式、色彩范圍

#shiny-shadow {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  background: #1c2541;
}

button {
  border: 2px solid white;
  background: transparent;
  text-transform: uppercase;
  color: white;
  padding: 15px 50px;
  outline: none;
}

span {
  z-index: 20;  
}

如何使用CSS3實現(xiàn)按鈕懸停閃爍動態(tài)特效

接著制作一閃而過的覆蓋層:

  • 使用:after選擇器制作一個帶透明度的長方形,讓它相對于button按鈕進行絕對定位

button {
  position: relative;
}
button:after {
	content: '';
	display: block;
	position: absolute;
	background: white;
	width: 50px;
	height: 125px;
	opacity: 20%;
}

如何使用CSS3實現(xiàn)按鈕懸停閃爍動態(tài)特效

  • 在最終效果中,一閃而過的是一個傾斜的長方形;因此我們添加一個transform: rotate(-45deg);樣式

button:after {
	transform: rotate(-45deg);
}

如何使用CSS3實現(xiàn)按鈕懸停閃爍動態(tài)特效

  • 使用top屬性和left屬性控制長方形的位置

button:after {
	top: -2px;
	left: -1px;
}

如何使用CSS3實現(xiàn)按鈕懸停閃爍動態(tài)特效

最后實現(xiàn)按鈕懸停閃爍動畫特效

  • 因為是懸停效果,所以要使用到:hover選擇器;我們要設(shè)置鼠標懸停時長方形的位置

button:hover:after {
  left: 120%;
}

如何使用CSS3實現(xiàn)按鈕懸停閃爍動態(tài)特效

  • 這樣突然變換位置不是我們要的效果,可以使用transition屬性添加一個過渡效果,因為該屬性是css3的一個新屬性,要添加前綴來兼容其他瀏覽器

button:hover:after {
  left: 120%;
  transition: all 600ms cubic-bezier(0.3, 1, 0.2, 1);
   -webkit-transition: all 600ms cubic-bezier(0.3, 1, 0.2, 1);
}

如何使用CSS3實現(xiàn)按鈕懸停閃爍動態(tài)特效

  • 大致實現(xiàn)了,再修飾一下。

只想要button按鈕范圍內(nèi)顯示長方形覆蓋層,那么可給button標簽添加一個overflow: hidden;樣式

button {
  overflow: hidden;
}

如何使用CSS3實現(xiàn)按鈕懸停閃爍動態(tài)特效

如何使用CSS3實現(xiàn)按鈕懸停閃爍動態(tài)特效

可以看出覆蓋層的位置還有點問題,最終效果中覆蓋層一開始是不顯示的,我們使用top屬性和left屬性來調(diào)整一下

button:after {
	top: -36px;
	left: -100px;
}

如何使用CSS3實現(xiàn)按鈕懸停閃爍動態(tài)特效

OK,大功告成!下面附上完整代碼:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<style type="text/css">
			#shiny-shadow {
				display: flex;
				align-items: center;
				justify-content: center;
				height: 100vh;
				background: #1c2541;
			}

			button {
				border: 2px solid white;
				background: transparent;
				text-transform: uppercase;
				color: white;
				padding: 15px 50px;
				outline: none;
				position: relative;
				overflow: hidden;
			}

			span {
				z-index: 20;
			}

			button:after {
				content: '';
				display: block;
				position: absolute;
				background: white;
				width: 50px;
				height: 125px;
				opacity: 20%;
				transform: rotate(-45deg);
				top: -36px;
				left: -100px;
			}

			button:hover:after {
				left: 120%;
				transition: all 600ms cubic-bezier(0.3, 1, 0.2, 1);
				-webkit-transition: all 600ms cubic-bezier(0.3, 1, 0.2, 1);
			}
		</style>
	</head>
	<body>
		<div id="shiny-shadow">
			<button><span>鼠標懸停</span></button>
		</div>
	</body>
</html>

“如何使用CSS3實現(xiàn)按鈕懸停閃爍動態(tài)特效”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI