搜尋
首頁web前端css教學如何在CSS中透過懸停在一個分割元素上逐漸改變寬度?

如何在CSS中透過懸停在一個分割元素上逐漸改變寬度?

每當我們想要逐漸改變一個元素的樣式,從一種樣式過渡到另一種樣式,無論是透過使用者的互動或是透過停留在網站上的時間來實現。您可以使用動畫來在任何時間段內改變許多樣式。讓我們來看看您需要的動畫屬性。

  • 關鍵影格− 這用於指定一個元素的動畫。它包含將發生在元素樣式上的變化。然後,元素從開始時的樣式移動到最後提到的樣式。

  • Animation-name − 這是用於引用動畫的,這樣您就不必每次新增動畫時都要指定規則。

  • 動畫持續時間 − 這指定了動畫應用於元素的持續時間。它的初始值為0ms,可以無限期地進行。

  • Animation-iteration-count − 這確定了動畫將重複播放的次數。

  • 動畫延遲 − 如果您需要將動畫延遲一段時間,可以使用此屬性。

  • 動畫方向 − 這指定了動畫是需要向前方向、向後方向還是在兩個方向上交替進行。

  • 動畫時間函數 − 當您希望動畫在開始、中間和結束時具有不同的時間間隔時,請使用此屬性。

我們也可以使用「animation」縮寫屬性,它由所有這些屬性組成。它適用於所有元素,但不可繼承。需要注意的是,在使用縮寫符號時,值的順序很重要,因為每個值根據其順序以不同的方式解釋。

例子

在CSS中使用動畫的範例如下所示。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Animations in CSS</title>
   <style>
      @keyframes example {
         from {
            background-color: maroon;
         }
         to {
            background-color: plum;
         }
      }
      div {
         width: 500px;
         height: 500px;
         margin: 12.25%;
         background-color: maroon;
         animation-name: example;
         animation-iteration-count: infinite;
         animation-duration: 4s;
      }
   </style>
</head>
<body>
   <div></div>
</body>
</html>

現在我們知道了CSS中的動畫是什麼,接下來我們將討論如何透過動畫來使div元素逐漸改變其寬度。

過渡屬性

我們將使用transition屬性來解決這個問題。這個屬性用於為元素添加過渡效果。它是CSS中可用的一種簡寫屬性。

它定義了動畫發生時發生的過渡,元素從一個狀態變成另一個狀態。它適用於所有元素,且不可繼承。

以下屬性構成了縮寫過渡屬性

  • Transition-delay − 這個屬性指定了瀏覽器在應用過渡屬性之前需要等待的時間。它的初始值為0,正值會使其等待更長時間,而負值會使過渡更快。

  • 過渡持續時間 - 這設定了過渡效果可見的時間持續時間,在此持續時間之後,動畫結束。此屬性的預設值為0,因此預設動畫是不可見的。

  • Transition-property − 它設定將會套用過渡效果的元素。它可以有兩個可能的值,none和all。預設情況下,值設定為all,因此所有元素都套用了過渡效果,但none表示沒有任何元素具有該過渡效果。

  • Transition-timing-function 此屬性用於控制動畫開始、中間和結束時的過渡速度。初始值設定為ease,但CSS有許多預先定義的時間函數。

#我們可以在懸停狀態下設定過渡屬性,動畫將在懸停或使用活動偽類時觸發。我們也可以使用JS動態分配類,並使用它們來觸發過渡。

例子

在CSS中使用transition屬性的一個簡單範例如下所示。

<!DOCTYPE html>
<html>
<head>
   <style>
      a {
         text-decoration: none;
         font-size: 14px;
         transition: font-size 4s 1s;
      }
      a:hover {
         font-size: 36px;
      }
   </style>
</head>
<body>
   <a>This text will have its font modified on hover</a>
</body>
</html>

在執行上述程式時,將顯示一段文本,如果你將滑鼠懸停在上面,你可以看到文本的過渡效果。

使用過渡作為解決方案

我們現在將看到一個使用過渡來解決手邊問題的範例。

<!DOCTYPE html>
<html>
<head>
   <style>
      h1 {
         color: royalblue;
      }
      div {
         width: 150px;
         height: 200px;
         background: linear-gradient(
            0deg,
            rgb(111, 190, 87) 20%,
            rgb(119, 218, 119) 50%,
            rgb(93, 81, 76) 98%
         );
         transition: width 2s;
      }
      .textCenter {
         display: flex;
         align-items: center;
         justify-content: center;
      }
      div:hover {
         width: 500px;
      }
   </style>
</head>
<body>
   <h1 id="Example-of-using-transition-property-to-increase-width-gradually-on-hover">Example of using transition property to increase width gradually on hover.</h1>
   <div class="textCenter">Please hover over here</div>
</body>
</html>

上述程式的輸出是一個div 盒子,其寬度在2秒內逐漸從150px變化到500px。

結論

總之,使用CSS的hover選擇器逐漸改變分區元素的寬度是一種有效的方式,可以添加細微的動畫效果,而無需額外的程式碼。這在創建網頁中的互動元素(如按鈕和選單)時特別有用。只需幾行程式碼,您就可以創建動態效果,使您的頁面與眾不同。

以上是如何在CSS中透過懸停在一個分割元素上逐漸改變寬度?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:tutorialspoint。如有侵權,請聯絡admin@php.cn刪除
@rules具有多少特異性,例如@keyframes和@media?@rules具有多少特異性,例如@keyframes和@media?Apr 18, 2025 am 11:34 AM

前幾天我得到了這個問題。我的第一個想法是:奇怪的問題!特異性是關於選擇者的,而在符號不是選擇器,那麼...無關緊要?

您可以嵌套@Media和@support查詢嗎?您可以嵌套@Media和@support查詢嗎?Apr 18, 2025 am 11:32 AM

是的,您可以,而且它並不重要。不需要CSS預處理器。它在常規CSS中起作用。

快速吞噬緩存破壞快速吞噬緩存破壞Apr 18, 2025 am 11:23 AM

您應該肯定會在CSS和JavaScript(以及圖像和字體以及其他內容)等資產上設置遙遠的高速緩存標頭。告訴瀏覽器

尋找可以監視CSS質量和復雜性的堆棧尋找可以監視CSS質量和復雜性的堆棧Apr 18, 2025 am 11:22 AM

許多開發人員寫瞭如何維護CSS代碼庫的文章,但並沒有很多關於如何測量該代碼庫質量的文章。當然,我們有

數據學家用於建議不執行值的值數據學家用於建議不執行值的值Apr 18, 2025 am 11:08 AM

您是否曾經有一種需要接受簡短而任意的文本的表格?喜歡名字或其他。那完全是用的。有很多

蘇黎世的最初會議蘇黎世的最初會議Apr 18, 2025 am 11:03 AM

我很高興能前往瑞士蘇黎世參加前界(Love the Name and URL!)。我以前從未去過瑞士,所以我很興奮

使用CloudFlare工人建立全棧無服務器應用程序使用CloudFlare工人建立全棧無服務器應用程序Apr 18, 2025 am 10:58 AM

我在軟件開發方面最喜歡的發展之一是無服務器的出現。作為一個傾向於陷入細節的開發人員

在NUXT應用程序中創建動態路由在NUXT應用程序中創建動態路由Apr 18, 2025 am 10:53 AM

在這篇文章中,我們將使用我構建和部署的電子商務商店演示來進行Netlify,以展示如何為傳入數據製作動態路線。這是一個公平的

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境