整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          原生CSS3教你寫一個漂亮的,帶動畫的checkbox效果


          在之前的一篇文章《默認的input標簽太丑?教你如何使用CSS寫出帶動畫的樣式》中有講過如何實現一個漂亮的input標簽樣式。

          既然已經折騰了,今天這篇文章我們就繼續折騰,看看如何通過CSS3實現一個帶動畫的checkbox樣式?

          CSS3

          感興趣的可以自行去github上看源文件,地址如下:

          https://github.com/zhouxiongking/article-pages/blob/master/articles/beautifulCheckbox/beautifulCheckbox.html

          checkbox

          checkbox作為多選框,在form表單中的使用頻率是非常高的,例如問卷調查的多選題,個人興趣愛好的選擇時都會用到多選框。

          而瀏覽器默認的checkbox樣式都很丑,看起來就是一個小小的方框,雖然Bootstrap已經有好看的checkbox樣式,但是它不支持動畫,在交互上仍然存在缺陷,所以我們就試圖自己寫出一個帶動畫的checkbox效果。

          首先我們來看看checkbox的動態效果圖(中間的黑色圓圈實際為錄制GIF圖時產生的,請忽略)

          checkbox效果圖

          具體組成

          接下來我們具體分析下頁面的元素組成,主要包括以下部分。

          1. 默認的checkbox標簽,將其display設置為none,隱藏起來。

          2. label標簽,表現為實際顯示的動態選中和未選中效果。

          我們需要達到的效果是,在未選中checkbox時,默認為灰色的邊框,白色的背景;在選中checkbox時,改變背景色,出現白色的打勾動畫效果。

          代碼組成

          在這部分,我們來具體分析下頁面的代碼組成。

          • HTML

          首先是頁面的HTML部分代碼,如上一部分所示,頁面其實只有兩個元素組成,這兩個元素放在一個容器下,故HTML代碼如下所示。

          HTML部分代碼

          • CSS

          我們來看看CSS部分的代碼,因為CSS部分代碼比較多,我們一一來分析。

          首先是外層container的樣式,同時對頁面的html和body也做一些簡單處理,代碼如下所示。

          container樣式

          其次是checkbox標簽的樣式,因為原生的checkbox除了在傳輸數據時有用處,在頁面呈現上并沒有作用,故設置display:none;將其隱藏。

          checkbox樣式

          然后是最重要的label部分,在未點擊之前label呈現一個正方形,有基本的樣式。

          基本樣式

          在點擊方形框后,出現的對勾是通過偽元素::before和::after實現的,對勾實際為兩個矩形拼接而成,左側的矩形用::after元素表示,右側的矩形用::before元素表示。兩者的通用樣式通過如下代碼實現。

          偽元素實現

          然后是針對::before和::after所特有的樣式,因為兩者的位置和旋轉的角度不同,代碼也會出現差異。

          特有樣式

          然后是定義的打鉤的動畫效果,這里使用keyframes關鍵字定義,考慮到瀏覽器兼容性,定義的動畫具有不同的前綴。定義的動畫也包括兩部分,首先是右側的矩形動畫效果。

          右側矩形動畫效果

          然后是左側矩形的動畫效果,同樣考慮到瀏覽器的兼容性,樣式代碼如下。

          左側矩形動畫

          至此,所有代碼都已講解完畢,如果運行之后就會看到文章開始的動畫效果。

          結束語

          本篇文章主要講的是如何使用自定義的動畫完成checkbox效果,感興趣的可以直接去github上看源文件代碼,后續會寫一個跟開關switch有關的文章,敬請期待~


          在之前的一篇文章《默認的input標簽太丑?教你如何使用CSS寫出帶動畫的樣式》中有講過如何實現一個漂亮的input標簽樣式。

          既然已經折騰了,今天這篇文章我們就繼續折騰,看看如何通過CSS3實現一個帶動畫的checkbox樣式?

          CSS3

          感興趣的可以自行去github上看源文件,地址如下:

          https://github.com/zhouxiongking/article-pages/blob/master/articles/beautifulCheckbox/beautifulCheckbox.html

          checkbox

          checkbox作為多選框,在form表單中的使用頻率是非常高的,例如問卷調查的多選題,個人興趣愛好的選擇時都會用到多選框。

          而瀏覽器默認的checkbox樣式都很丑,看起來就是一個小小的方框,雖然Bootstrap已經有好看的checkbox樣式,但是它不支持動畫,在交互上仍然存在缺陷,所以我們就試圖自己寫出一個帶動畫的checkbox效果。

          首先我們來看看checkbox的動態效果圖(中間的黑色圓圈實際為錄制GIF圖時產生的,請忽略)

          checkbox效果圖

          具體組成

          接下來我們具體分析下頁面的元素組成,主要包括以下部分。

          1. 默認的checkbox標簽,將其display設置為none,隱藏起來。

          2. label標簽,表現為實際顯示的動態選中和未選中效果。

          我們需要達到的效果是,在未選中checkbox時,默認為灰色的邊框,白色的背景;在選中checkbox時,改變背景色,出現白色的打勾動畫效果。

          代碼組成

          在這部分,我們來具體分析下頁面的代碼組成。

          • HTML

          首先是頁面的HTML部分代碼,如上一部分所示,頁面其實只有兩個元素組成,這兩個元素放在一個容器下,故HTML代碼如下所示。

          HTML部分代碼

          • CSS

          我們來看看CSS部分的代碼,因為CSS部分代碼比較多,我們一一來分析。

          首先是外層container的樣式,同時對頁面的html和body也做一些簡單處理,代碼如下所示。

          container樣式

          其次是checkbox標簽的樣式,因為原生的checkbox除了在傳輸數據時有用處,在頁面呈現上并沒有作用,故設置display:none;將其隱藏。

          checkbox樣式

          然后是最重要的label部分,在未點擊之前label呈現一個正方形,有基本的樣式。

          基本樣式

          在點擊方形框后,出現的對勾是通過偽元素::before和::after實現的,對勾實際為兩個矩形拼接而成,左側的矩形用::after元素表示,右側的矩形用::before元素表示。兩者的通用樣式通過如下代碼實現。

          偽元素實現

          然后是針對::before和::after所特有的樣式,因為兩者的位置和旋轉的角度不同,代碼也會出現差異。

          特有樣式

          然后是定義的打鉤的動畫效果,這里使用keyframes關鍵字定義,考慮到瀏覽器兼容性,定義的動畫具有不同的前綴。定義的動畫也包括兩部分,首先是右側的矩形動畫效果。

          右側矩形動畫效果

          然后是左側矩形的動畫效果,同樣考慮到瀏覽器的兼容性,樣式代碼如下。

          左側矩形動畫

          至此,所有代碼都已講解完畢,如果運行之后就會看到文章開始的動畫效果。

          結束語

          本篇文章主要講的是如何使用自定義的動畫完成checkbox效果,感興趣的可以直接去github上看源文件代碼,后續會寫一個跟開關switch有關的文章,敬請期待~

          果您覺得該文章對您有幫助,讓更多人受用,請關注“鍵盤碼農”,轉發該文章。謝謝您的支持!

          今天跟大家寫了一份js的聯動全選的源碼,代碼少,清晰易懂。

          效果是這樣的:

          點擊全選下面的就會被全部全選,或者下面的被一一選擇,全選按鈕也會被選中。運用復選框來實現的聯動全選的功能。

          點擊上面的復選框就會被全選

          Javascript:聯動全選

          當下放的復選框沒有被全選,最上面的全選按鈕未被選中

          復選框聯動全選js代碼實現:

          <!DOCTYPE html>

          <html>

          <head>

          <title></title>

          <meta charset="utf-8">

          <script type="text/javascript">

          window.onload = function ()

          {

          var oBtn1 = document.getElementById('btn1');

          var oBox = document.getElementById('box');

          var oInputs = oBox.getElementsByTagName('input');

          oBtn1.onclick = function ()

          {

          if (oBtn1.checked == true) {

          for (var i = 0; i < oInputs.length; i++) {

          oInputs[i].checked = true;

          }

          } else {

          for (var i = 0; i < oInputs.length; i++) {

          oInputs[i].checked = false;

          }

          }

          }

          //點擊每一個input框

          for (var i = 0; i < oInputs.length; i++) {

          oInputs[i].onclick = function ()

          {

          var n = 0;

          for (var i = 0; i < oInputs.length; i++) {

          if (oInputs[i].checked == true) {

          n++;

          }

          }

          if (n == oInputs.length) {

          oBtn1.checked = true;

          } else {

          oBtn1.checked = false;

          }

          }

          }

          }

          </script>

          </head>

          <body>

          <h1>全選/全不選</h1>

          <input type="checkbox" id="btn1">

          <div id="box">

          <input type="checkbox" name="">

          <input type="checkbox" name="">

          <input type="checkbox" name="">

          <input type="checkbox" name="">

          </div>

          </body>

          </html>

          相對比較簡單,對于初學者應該有很好的幫助!請關注鍵盤碼農。后期繼續更新,如有什么看法請在下方評論。第一時間為您解答哦!


          主站蜘蛛池模板: 中文字幕一区二区视频| 国模私拍福利一区二区| 亚洲熟女综合一区二区三区| 男人的天堂亚洲一区二区三区| 一区二区在线视频| 国产在线观看一区精品| 国产成人一区二区三区电影网站| 精品无人区一区二区三区在线| 亚洲欧洲∨国产一区二区三区| 一区二区三区精品视频| 视频在线观看一区二区三区| 天堂Av无码Av一区二区三区| 国产精品福利一区二区| 精品无人区一区二区三区| 无码人妻精品一区二区三区99仓本 | 成人免费一区二区三区在线观看| 精品人妻系列无码一区二区三区 | 文中字幕一区二区三区视频播放| 色狠狠色噜噜Av天堂一区| 亚洲国产精品成人一区| 一区二区三区在线|日本| 日韩一区二区三区在线观看| 无码精品久久一区二区三区 | 国产乱码一区二区三区四| 精品亚洲AV无码一区二区三区 | 99久久国产精品免费一区二区| 一区二区三区波多野结衣| 福利一区国产原创多挂探花| 一区二区中文字幕在线观看| 中文字幕一区二区三区免费视频| 免费一区二区无码东京热| 国产丝袜美女一区二区三区| 久久国产免费一区| 精品无人区一区二区三区| 日本一区二三区好的精华液| 秋霞电影网一区二区三区| 久久久精品日本一区二区三区| 国产av一区二区三区日韩| 国产午夜精品片一区二区三区| 国产第一区二区三区在线观看| 香蕉视频一区二区|