欧美成人片一区二区三区,久久碰人妻一区二区三区,久久婷婷激情综合色综合俺也去,狂野欧美性猛交免费视频,久久夜色精品国产亚洲

22
2024/11

使用CSS3實現(xiàn)鼠標懸停圖標導航動畫特效

發(fā)布時間:2024-11-22 15:26:32
發(fā)布者:神棍子
瀏覽量:
0

css3建一個具有鼠標懸停動畫效果的導航菜單,當鼠標懸停在每個列表項上時,背景、圖標和文本都會產生動態(tài)變化,以增強用戶體驗。

代碼實現(xiàn)效果

1.頁面結構:

   使用一個`<section>`標簽作為整個導航菜單的容器,并為其添加`.business``.active`類。

   `<section>`內部使用一個`<div>`標簽作為內容容器,添加`.box`類。

   內部包含一個無序列表`<ul>`,每個列表項`<li>`代表一個服務選項。

2.樣式:

   使用CSS3`transition`屬性為背景、圖標和文本添加平滑的過渡效果。

   利用`background-position`屬性改變背景圖的位置,實現(xiàn)懸停時的視覺變化。

   使用`clip`屬性對某些元素進行裁剪,以實現(xiàn)特定的動畫效果。

3.交互:

   當鼠標懸停在列表項上時,通過改變`background-position``clip`屬性,使背景圖和圖標發(fā)生變化。

   文本的顯示和隱藏通過改變`top`屬性和`transition-delay`屬性來實現(xiàn)。

 重點方法

 1. 基礎樣式重置:消除瀏覽器默認的內外邊距,確保所有元素在不同瀏覽器中表現(xiàn)一致。使用通配符選擇器``重置所有元素的內外邊距,并移除鏈接的下劃線。

```css

 {

    padding: 0;

    margin: 0;

}

a, a:hover {

    text-decoration: none;

}

```

2. 導航欄基礎樣式:設置導航欄的寬度、居中顯示,并添加過渡效果。:使用`width``margin: 0 auto`使導航欄居中,`position: relative`確保子元素可以相對定位,`transition`屬性添加平滑過渡效果。

```css

.business .box {

    width: 1200px;

    margin: 0 auto;

    position: relative;

    transition: all .3s ease-in-out 0s;

}

```

 3. 列表項樣式:設置列表項的尺寸、間距、背景圖和顯示方式。使用`width``height`設置尺寸,`margin`設置間距,`background`設置背景圖,`overflow: hidden`確保溢出內容不可見,`display: inline-block`使列表項水平排列。

```css

.business .box ul.items li {

    width: 200px;

    height: 300px;

    margin: 0 8px;

    background: url(../images/bg_green.png) no-repeat 0px 400px;

    overflow: hidden;

    display: inline-block;

}

```

4. 圖標樣式:設置圖標的尺寸、位置和顯示方式。使用`display: block``position: relative`使圖標塊級顯示并可相對定位,`margin`設置居中和頂部間距,`height`設置高度

```css

.business .box ul.items li i {

    display: block;

    position: relative;

    margin: 0 auto;

    margin-top: 43px;

    height: 69px;

}

```

 

5. 動畫元素樣式:設置動畫元素的尺寸、位置、背景圖和過渡效果。使用`display: block``position: absolute`使動畫元素絕對定位,`width``height`設置尺寸,`margin-left`設置左側間距,`background`設置背景圖,`transition`屬性添加平滑過渡效果。

```css

.business .box ul.items li u {

    display: block;

    position: absolute;

    width: 156px;

    height: 156px;

    margin-left: 22px;

    background: url(../images/words.png) no-repeat 0px -363px;

    transition: all .5s ease-in-out 0s;

}

```

 6. 裁剪區(qū)域:通過裁剪實現(xiàn)特定的動畫效果。使用`clip`屬性定義裁剪區(qū)域,`.active`類改變裁剪區(qū)域的大小,實現(xiàn)動畫效果。

```css

.business .box ul.items li u.cl { clip: rect(0px,156px,-10px,78px); }

.business.active .box ul.items li u.cl { clip: rect(0px,156px,156px,78px); }

.business .box ul.items li u.cr { clip: rect(156px,78px,156px,0px); }

.business.active .box ul.items li u.cr { clip: rect(0px,78px,156px,0px); }

```

7. 文本樣式:設置標題和描述文本的樣式。使用`display: block``text-align: center`使文本居中顯示,`font-size``line-height`設置字體大小和行高,`position: relative``top`設置垂直位置。

```css

.business .box ul.items li strong {

    display: block;

    margin-top: 70px;

    font-size: 16px;

    font-weight: normal;

    text-align: center;

}

.business .box ul.items li p {

    position: relative;

    top: 200px;

    color: white;

    font-family: Arial, "宋體";

    font-size: 12px;

    line-height: 20px;

    text-align: center;

}

```

 

8. 鼠標懸停效果:當鼠標懸停在列表項上時,改變背景圖位置和圖標樣式。使用`background-position`改變背景圖位置,`transition`屬性添加平滑過渡效果,`hover`偽類觸發(fā)懸停效果。

```css

.business .box ul.items li:hover {

    background-position: 0px 0px;

    transition: all .5s ease-in-out .3s;

}

.business .box ul.items li:hover i {

    transition: all .5s ease-in-out .4s;

}

```

 

9. 特定類型圖標的變化:當鼠標懸停在特定類型的列表項上時,改變圖標背景圖的位置。使用`background-position`改變背景圖位置,`hover`偽類觸發(fā)懸停效果。

```css

.business .box ul.items li.pc:hover i { background-position: -168px -357px; }

.business .box ul.items li.mobi:hover i { background-position: -337px -291px; }

.business .box ul.items li.sys:hover i { background-position: -327px -362px; }

.business .box ul.items li.app:hover i { background-position: -164px -439px; }

.business .box ul.items li.host:hover i { background-position: -335px -439px; }

```

10. 文本顏色變化及延遲:當鼠標懸停在列表項上時,改變標題文本的顏色,并添加延遲效果。使用`color`改變文本顏色,`transition-delay`屬性添加延遲效果。

```css

.business .box ul.items li:hover strong {

    color: white;

    transition-delay: .4s;

}

```

11. 描述文字的動畫效果:當鼠標懸停在列表項上時,改變描述文本的垂直位置,并添加平滑過渡效果。使用`top`改變垂直位置,`transition`屬性添加平滑過渡效果,`transition-delay`屬性添加延遲效果。

```css

.business .box ul.items li:hover p {

    top: 20px;

    transition: all .3s ease-in-out .5s;

}

```

 總結

通過上述方法,實現(xiàn)了鼠標懸停時背景、圖標和文本的動態(tài)變化效果,增強了用戶的交互體驗。主要利用了CSS3`transition`、`background-position``clip`等屬性來實現(xiàn)這些效果。





關鍵詞:
返回列表