日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > CSS >内容正文

CSS

html鼠标点击伪类,CSS伪类:CSS3鼠标滑过按钮动画

發布時間:2024/1/23 CSS 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html鼠标点击伪类,CSS伪类:CSS3鼠标滑过按钮动画 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

按鈕,對開發者而言,是非常常見的一個功能。前端通常會對按鈕加入一些操作交互樣式,增加一些用戶體驗。

比如:hover樣式、點擊樣式、loading樣式等。下面我們通過簡單示例在學習一下css3動畫和css偽類。

示例一

按鈕一

position: relative;

width: 100px;

height: 40px;

border: 1px solid #46b0ff;

background: none;

cursor: pointer;

}

button:after{

position: absolute;

content: '';

width: 100%;

height: 100%;

top: 0;

left: 0;

}

.btn-1:after{

opacity: 0;

background: #46b0ff;

transition: all .3s;

z-index: -1;

}

.btn-1:hover:after{

opacity: 1;

}

解析:

1、利用偽類作為鼠標:hover事件后,按鈕的背景,這里用到了相對定位(relative)和絕對定位(absolute)

切記:使用絕對定位的元素,父元素一定要用相對定位,否則元素會一直向上找相對定位的元素,直至根節點。

2、這里用transition對:hover事件動畫進行描述,0.3s完成動畫,改變:after的透明度。all是所有行為。

當然,這里我們還有更簡單是實現方式,不用類型,直接改變背景也是ok的,請看代碼:

按鈕一

position: relative;

width: 100px;

height: 40px;

border: 1px solid #46b0ff;

background: none;

cursor: pointer;

background: rgba(70, 176, 255, 0);

transition: all 1s;

}

.btn-1:hover{

background: rgba(70, 176, 255, 1);

}

ok,我們在示例一的基礎上,更進一步,請看示例二

示例二

按鈕二

/* 這里省略上方的公共樣式 */

.btn-2:after{

width: 0;

background: #f13f84;

transition: all .3s;

z-index: -1;

}

.btn-2:hover:after{

width: 100%;

}

解析:

1、這里和示例一其實類似,不過這里是改變偽類的寬度。

2、以此類推,我們可以改變偽類的高度,就可以看到向下擴展的動畫了。

按鈕三

/* 這里省略上方的公共樣式 */

.btn-2:after{

width: 0;

background: #f13f84;

transition: all .3s;

z-index: -1;

}

.btn-2:hover:after{

width: 100%;

}

這樣就有一個疑問,如何讓偽類從右至左,或者從下至上呢?

按鈕四

按鈕五

/* 這里省略上方的公共樣式 */

button:after{

position: absolute;

content: '';

width: 100%;

height: 100%;

top: 0;

left: 0;

}

.btn-4:after{

height: 0;

background: #00b7a3;

transition: all .3s;

z-index: -1;

bottom: 0;

top: initial

}

.btn-4:hover:after{

height: 100%;

}

.btn-5:after{

width: 0;

background: #00b7a3;

transition: all .3s;

z-index: -1;

right: 0;

left: initial

}

.btn-5:hover:after{

width: 100%;

}

其實也是非常簡單,我們改變偽類的初始位置,比如從下至上,那么我們就讓元素最開始就在最下方bottom: 0,然后改變高度,就可以看到效果是從下向上延時了,同理從右至左也是如此。

有沒有從中學到呢?

其實還有其他辦法可以實現,比如從左至右,我們可以讓偽類最開始就100%寬度,但是,left剛剛是按鈕的反方向,然后動畫讓left:0

請看代碼:

按鈕二

...

/* 這里省略上方的公共樣式 */

.btn-2:after{

left: -100px;

background: #f13f84;

transition: all .3s;

z-index: -1;

}

.btn-2:hover:after{

left: 0;

}

這樣的效果肯定是不盡人意的,鼠標沒有指上去時,居然在左邊可以看到偽類,其實在button上面添加超出隱藏即可

button{

...

overflow: hidden;

}

下面我們對其進行拓展,展示更高階的示例

示例三

按鈕六

按鈕七

...

/* 這里省略上方的公共樣式 */

.btn-6:after{

width: 0;

background: #ff9900;

transition: all .3s;

z-index: -1;

left: 50%;

transform: translateX(-50%);

}

.btn-6:hover:after{

width: 100%;

}

.btn-7:after{

height: 0;

background: #00b7a3;

transition: all .3s;

z-index: -1;

top: 50%;

transform: translateY(-50%);

}

.btn-7:hover:after{

height: 100%;

}

解析:

1、這里先讓偽類:after,水平居中或垂直居中

/* 水平居中 */

left: 50%;

transform: translateX(-50%);

/* 垂直居中 */

top: 50%;

transform: translateY(-50%);

2、在通過:hover改變寬度或者高度,即可形成上圖的動畫效果

通過上面的效果,我們可以更進一步,請看下列代碼

示例四

按鈕八

...

/* 這里省略上方的公共樣式 */

.btn-8:after{

height: 0;

width: 0;

background: #f13f84;

transition: all .3s;

z-index: -1;

top: 50%;

left: 50%;

border-radius: 100%;

transform: translate(-50%, -50%);

overflow: hidden;

opacity: .3;

}

.btn-8:hover:after{

height: 300px;

width: 300px;

opacity: 1;

}

解析:

1、偽類元素:after水平垂直居中

top: 50%;

left: 50%;

transform: translate(-50%, -50%);

2、動畫改變寬度高度(和之前示例不一樣的是,寬高必須大于按鈕的寬度,并且是圓形)

3、超出button部分隱藏即可

總結

本小節到此就結束了,是不是覺得很簡單呢?有興趣愛鉆研的小伙伴是不是發現還可以拓展呢?比如:上下左右同時延時效果,可以加入傾斜,效果又不一樣了。

通過本小節,你學到了什么?

1、偽類元素靈活運用

2、transition的作用

3、:hover鼠標移入動畫

4、元素如何水平垂直居中

小伙伴們,有問題可以評論區留言哦,歡迎大家點評。

總結

以上是生活随笔為你收集整理的html鼠标点击伪类,CSS伪类:CSS3鼠标滑过按钮动画的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。