中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

CSS3中怎么實現單選框動畫特效

發布時間:2021-06-25 16:00:26 來源:億速云 閱讀:169 作者:Leah 欄目:web開發

本篇文章為大家展示了CSS3中怎么實現單選框動畫特效,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

<div class="radio-1">
    <input type="radio" name="radio-1" id="radio-1-1" checked="checked">
    <label for="radio-1-1"></label>
 
    <input type="radio" name="radio-1" id="radio-1-2">
    <label for="radio-1-2"></label>
 
    <input type="radio" name="radio-1" id="radio-1-3">
    <label for="radio-1-3"></label>
</div>

這里,我們指定 input 標簽的 type 值為 radio,并且一下所有的 radio 的 name 值都相同,這樣才可以實現單選效果。對于這里的 label 中的 for 屬性,為什么這么設置一開始我也不明白,后來搜索了一下這個屬性的定義,反正大概的意思就是說,只要設置了這個屬性,當我們點擊label 元素的時候,瀏覽器會自動把焦點轉移到 radio 上去。下面用 CSS 對HTML設置效果。

代碼如下:

   .radio-1 {
        width: 900px;
        padding: 3% 0%;
        margin: 10px auto;
        background-color: darkseagreen;
        text-align: center;
    }
 
    .radio-1 label {
        display: inline-block;
        position: relative;
        width: 28px;
        height: 28px;
        border: 1px solid #cccccc;
        border-radius: 100%;
        cursor: pointer;
        background-color: #ffffff;
        margin-right: 10px;
    }

這里我們首先看一下對 label 元素的設定,其中大部分屬性我都在以前的文章中介紹過了,唯一一個陌生的屬性就是 cursor,這個屬性是設定鼠標樣式的,設置成 pointer 之后,當我們的鼠標放到 label 元素上時,鼠標樣式就變成了一只手(在我電腦上是這樣)。好了,下面繼續來看

代碼如下:

    .radio-1 label:after {
        content: "";
        position: absolute;
        width: 20px;
        height: 20px;
        top: 4px;
        left: 4px;
        background-color: #666;
        border-radius: 50%;
        transform: scale(0);
        transition: transform .2s ease-out;
    }

這里我們用到了 after 選擇器,為什么設置這個屬性?就是為了設置如上圖所示的小黑點。首先我們設置 content 屬性為空,意思就是我們不需要填充任何內容,因為我們只是想設置背景色為黑色,僅此而已。還有,剛開始的時候我們設置 transform 的 scale 值為 0 ,其達到的效果就是將小黑點隱藏。

代碼如下:

    .radio-1 [type="radio"]:checked + label {
        background-color: #eeeeee;
        transition: background-color .2s ease-in;
    }
 
    .radio-1 [type="radio"]:checked + label:after {
        transform: scale(1);
        transition: transform .2s ease-in;
    }

注意這里使用了 + 符號,是什么意思呢?它的學名叫做 相鄰同胞選擇器,意思就是選擇緊接在另一個元素后的元素,而且二者有相同的父元素,在這里的意思就是選中在radio 后出現的 label ,有人要問了,這么設置干嘛,直接設置 label 就是了。想象一下,在一個 非常龐大的系統中,我們可能多次使用到 label 元素,為了避免混淆,這樣設置將更加準確。這里我們看到了 transition 屬性,這個屬性是用于設置過渡效果的。最后,將我們的 radio 隱藏掉,就大功告成了。

代碼如下:


   .radio-1 [type="radio"]{
       display: none;
   }

這是我們的第二個特效

CSS3中怎么實現單選框動畫特效

其實看到這個動畫的第一感覺就是,和上一個一模一樣,除了將 transform 屬性設置成 rotate,下面我就不再解釋了,只要你結合上一個例子,就可以很容易做出這么一個效果,我們直接上代碼

代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Radio</title>
    <style>
        .radio-2 {
            width: 900px;
            padding: 3% 0;
            margin: 50px auto;
            background-color: darkseagreen;
            text-align: center;
        }
 
        .radio-2 label {
            display: inline-block;
            width: 28px;
            height: 28px;
            overflow: hidden;
            border: 1px solid #eeeeee;
            border-radius: 100%;
            margin-right: 10px;
            background-color: #ffffff;
            position: relative;
            cursor: pointer;
        }
 
        .radio-2 label:after {
            content: "";
            position: absolute;
            top: 4px;
            left: 4px;
            width: 20px;
            height: 20px;
            background-color: #666666;
            border-radius: 50%;
            transform: rotate(-180deg);
            transform-origin: -2px 50%;
            transition: transform .2s ease-in;
        }
 
        .radio-2 [type="radio"] {
            display: none;
        }
 
        .radio-2 [type="radio"]:checked + label:after{
            transform: rotate(0deg);
            transition: transform .2s ease-out;
        }
    </style>
</head>
<body>
<div class="radio-2">
    <input type="radio" name="radio-2" id="radio-2-1" checked="checked">
    <label for="radio-2-1"></label>
 
    <input type="radio" name="radio-2" id="radio-2-2">
    <label for="radio-2-2"></label>
 
    <input type="radio" name="radio-2" id="radio-2-3">
    <label for="radio-2-3"></label>
</div>
 
</body>
</html>

上述內容就是CSS3中怎么實現單選框動畫特效,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西盟| 无锡市| 西乡县| 自贡市| 黎平县| 塔河县| 天祝| 综艺| 天峨县| 庄浪县| 满洲里市| 石林| 广德县| 百色市| 绥德县| 镇沅| 常熟市| 新乡县| 白玉县| 积石山| 随州市| 孝感市| 林甸县| 温州市| 探索| 榆中县| 兴文县| 武冈市| 平原县| 星座| 那坡县| 朝阳县| 南江县| 汉川市| 临潭县| 惠安县| 平安县| 温州市| 兴山县| 旬邑县| 濮阳市|