首頁 > web前端 > css教學 > 主體

如何在按鈕上轉換 CSS 線性漸層?

Barbara Streisand
發布: 2024-10-31 01:33:29
原創
811 人瀏覽過

How Can I Transition CSS Linear Gradients on a Button?

線性漸變的 CSS 轉場

使用者在將轉場應用於使用 CSS 線性漸層所建立的按鈕背景時遇到困難。他們的程式碼如下:

<code class="css">a.button {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,@green), color-stop(100%,#a5c956));
  -webkit-transition: background 5s linear;
}

a.button:hover {
  -webkit-gradient(linear, left top, left bottom, color-stop(0%,@greenhover), color-stop(100%,#89af37))
}</code>
登入後複製

問題:過渡不適用於按鈕的背景漸變。

解:

遺憾的是,CSS 轉換不能直接應用於線性漸變。因此,需要一種解決方法:

  1. 建立具有所需漸變的附加元素。
  2. 將元素放置在按鈕後面(使用負 z 索引)並覆蓋相同區域。
  3. 將漸層元素的初始不透明度設為 0。
  4. 在不透明度屬性上使用 CSS 過渡,以在懸停時逐漸淡入漸變元素。
<code class="css">a.button {
  position: relative;
  z-index: 9;
  ... (rest of the CSS)

  background: linear-gradient(top, green, #a5c956);
}

.button-helper {
  position: absolute;
  z-index: -1;
  ... (rest of the CSS)

  background: linear-gradient(top, lime, #89af37);
  opacity: 0;
  -webkit-transition: opacity 1s linear;
  transition: opacity 1s linear;
}

a.button:hover .button-helper {
  opacity: 1;
}</code>
登入後複製
<code class="html"><a href="#" class="button">
  <span class="button-helper"></span>
  button
</a></code>
登入後複製

以上是如何在按鈕上轉換 CSS 線性漸層?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!