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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

checkbox复选框样式

發(fā)布時(shí)間:2024/9/20 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 checkbox复选框样式 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

隨著現(xiàn)代瀏覽器的流行,純CSS設(shè)置checkbox也變的很是實(shí)用,下面會(huì)講到5種與眾不同的checkbox復(fù)選框。

首先,需要添加一段CSS隱藏所有的Checkbox復(fù)選框,下面我們會(huì)改變它的外觀。要做到點(diǎn)需要添加一段代碼到你的CSS文件中。

/** * 隱藏默認(rèn)的checkbox */ input[type=checkbox] { visibility: hidden; }

  

checkbox復(fù)選框樣式一隱藏掉所有的Checkbox復(fù)選框后,我們需要添加一個(gè)label HTML元素,我們都知道,當(dāng)點(diǎn)擊的有for屬性的label標(biāo)簽時(shí),對(duì)應(yīng)的Checkbox復(fù)選框會(huì)被選中。這意味著,我們可以通過(guò)label的點(diǎn)擊事件來(lái)處理我們的Checkbox復(fù)選框。

?

?

?

此復(fù)選框風(fēng)格就像一個(gè)解鎖滑塊,滑塊選中和未選中狀態(tài)會(huì)顯示在的不同位置。當(dāng)單擊滑塊按鈕(label標(biāo)簽),將會(huì)選中復(fù)選框,然后滑塊移動(dòng)到ON位置。

我們開(kāi)始創(chuàng)建復(fù)選框區(qū)的HTML。

<pre><section><!-- Checbox One --><h3>Checkbox One</h3><div class="checkboxOne"><input id="checkboxOneInput" type="checkbox" name="" value="1" /> <label for="checkboxOneInput"></label></div></section></pre>

  為這個(gè)樣式的復(fù)選框,一個(gè)label不足以完成任務(wù),我們用一個(gè)DIV元素包含checkbox,我們需要使用它們來(lái)做黑色條帶和圓角。

/** * Create the slider bar */.checkboxOne {
  width: 40px;
height: 10px;
  background: #555;
  margin: 20px 80px;
  position: relative;
  border-radius: 3px;
}

  現(xiàn)在,我們可以把label作為條帶上的滑塊,我們希望按鈕效果是從條帶的一側(cè)移動(dòng)到另一側(cè),我們可以添加label的過(guò)渡。

?

.checkboxOne label {
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -o-transition: all .5s ease;
  -ms-transition: all .5s ease;
  transition: all .5s ease;
  cursor: pointer;
  position: absolute;
  top: -3px;
  left: -3px;
  background: #ccc;
}

  現(xiàn)在這個(gè)滑塊在選中(關(guān)閉)位置,當(dāng)我們選中復(fù)選框,我們希望有一個(gè)反應(yīng)發(fā)生,所以我們可以移動(dòng)滑塊到另一端。我們需要知道,判斷復(fù)選框被選中,如果是則改變label元素的left屬性。

.checkboxOne input[type=checkbox]:checked + label {left: 27px;}

  這就是你需要的第一個(gè)Checkbox復(fù)選框的CSS。

?

?

?

此復(fù)選框風(fēng)格像樣式一樣,但不同的是,這個(gè)滑塊按鈕會(huì)改變顏色。當(dāng)您單擊滑塊按鈕,它移動(dòng)到條帶的另一邊,并改變按鈕的顏色。

HTML代碼和樣式一是完全一樣的。

?

</pre><section><!-- Checbox Two --><h3>Checkbox Two</h3><div class="checkboxTwo"><input id="checkboxTwoInput" type="checkbox" name="" value="1" /> <label for="checkboxTwoInput"></label></div></section><pre>

  這個(gè)DIV會(huì)變成比樣式一大一些的條帶,label依然是作為滑塊,使用下面的CSS來(lái)定義它。

.checkboxTwo {
  width: 120px;
  height: 40px;
  background: #333;
  margin: 20px 60px;
  border-radius: 50px;
  position: relative;
}

  這個(gè)樣式中間有一個(gè)黑色的條,滑塊會(huì)沿著它左右滑動(dòng),但是DIV元素已經(jīng)使用了,所以我們需要用:before偽類(lèi)創(chuàng)建一個(gè)新的元素。

.checkboxTwo:before {
  content: '';
  position: absolute;
  top: 19px;
  left: 14px;
  height: 2px;
  width: 90px;
  background: #111;
}

  和樣式一一樣,接下來(lái)我們?yōu)閘abel寫(xiě)CSS樣式,把它用作滑塊。

.checkboxTwo label {
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -o-transition: all .5s ease;
  -ms-transition: all .5s ease;
  transition: all .5s ease;
  cursor: pointer;
  position: absolute;
  top: 9px;
  z-index: 1;
  left: 12px;
  background: #ddd;
}

  我要實(shí)現(xiàn)和樣式一差不多的選中狀態(tài),當(dāng)選中時(shí)改變label的left和background屬性。

.checkboxTwo input[type=checkbox]:checked + label {left: 84px; background: #26ca28;}

  

checkbox復(fù)選框樣式三

這個(gè)復(fù)選框的樣式比樣式二更復(fù)雜一些,它和前面的例子一樣會(huì)左右滑動(dòng),并且當(dāng)改變選中和未選中的狀態(tài)時(shí),滑塊滑動(dòng)到另一側(cè)并且在原位置顯示對(duì)應(yīng)的文本。

首先,我們寫(xiě)HTML代碼,這和前面是相同的。

<pre><section><!-- Checbox Three --><h3>Checkbox Three</h3><div class="checkboxThree"><input id="checkboxThreeInput" type="checkbox" name="" value="1" /> <label for="checkboxThreeInput"></label></div></section></pre>

  然后,我們用相同的方式把div作為滑塊,下面的代碼會(huì)創(chuàng)建一個(gè)黑色圓角的條帶,我們可以把滑塊和文本放到里面。

.checkboxThree {
  width: 120px;
  height: 40px;
  background: #333;
  margin: 20px 60px;
  border-radius: 50px;
  position: relative;
}

  當(dāng)滑塊處于未選中狀態(tài)時(shí),滑塊會(huì)在左側(cè),并且右邊顯示”O(jiān)FF”,當(dāng)點(diǎn)擊的時(shí)候,滑塊移動(dòng)到右側(cè),左側(cè)顯示”O(jiān)N”。
但是元素?cái)?shù)量不足以讓我們實(shí)現(xiàn)這些功能,所以我們要用:before和:after兩個(gè)偽類(lèi)創(chuàng)建兩個(gè)元素,分別放置”O(jiān)N”和”O(jiān)FF”。

/** * 創(chuàng)建ON */.checkboxThree:before {
  content: 'On';
  position: absolute;
  top: 12px;
  left: 13px;
  height: 2px;
  color: #26ca28;
  font-size: 16px;}

/** * 創(chuàng)建OFF */.checkboxThree:after {
  content: 'Off';
  position: absolute;
  top: 12px;
  left: 84px;
  height: 2px;
  color: #ddd;
  font-size: 16px;
}

  和前面一樣,我們來(lái)添加滑塊的樣式,當(dāng)被點(diǎn)擊時(shí)它會(huì)移動(dòng)到另一側(cè),并且改變顏色。

.checkboxThree label {
  display: block;
  width: 52px;
  height: 22px;
  border-radius: 50px;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -o-transition: all .5s ease;
  -ms-transition: all .5s ease;
  transition: all .5s ease;
  cursor: pointer;
  position: absolute;
  top: 9px;
  z-index: 1;
  left: 12px;
  background: #ddd
}

.checkboxThree input[type=checkbox]:checked + label {left: 60px;background: #26ca28;}

  

checkbox復(fù)選框樣式四

?

在這個(gè)樣式中,我們會(huì)創(chuàng)建兩個(gè)圓形,當(dāng)點(diǎn)擊時(shí)改變里面的圓形的顏色表示選中與未選中的狀態(tài)。
和前面一樣的HTML代碼。

<pre><section><!-- Checbox Four --><h3>Checkbox Four</h3><div class="checkboxFour"><input id="checkboxFourInput" type="checkbox" name="" value="1" /> <label for="checkboxFourInput"></label></div></section></pre>

  接下來(lái)我們要為checkbox創(chuàng)建外面的圓形,使用CSS的border-radius屬性,并且設(shè)置為100%就可以創(chuàng)建一個(gè)正圓形。

.checkboxFour {
  width: 40px;
  height: 40px;
  background: #ddd;
  margin: 20px 90px;
  border-radius: 100%;
  position: relative;
  -webkit-box-shadow: 0px 1px 3px rgba(0,0,0,0.5);
  -moz-box-shadow: 0px 1px 3px rgba(0,0,0,0.5);
  box-shadow: 0px 1px 3px rgba(0,0,0,0.5);
}

  然后我們用label元素來(lái)創(chuàng)建一個(gè)小一點(diǎn)的圓形,它會(huì)根據(jù)checkbox狀態(tài)來(lái)改變顏色。

.checkboxFour label {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 100px;
  -webkit-transition: all .5s ease;
  -moz-transition: all .5s ease;
  -o-transition: all .5s ease;
  -ms-transition: all .5s ease;
  transition: all .5s ease;
  cursor: pointer;
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: 1;
  background: #333;
  -webkit-box-shadow:inset 0px 1px 3px rgba(0,0,0,0.5);
  -moz-box-shadow:inset 0px 1px 3px rgba(0,0,0,0.5);
  box-shadow:inset 0px 1px 3px rgba(0,0,0,0.5);
}

  當(dāng)復(fù)選框被選中的時(shí)候,我們要改變內(nèi)圈的背景顏色來(lái)表示選中狀態(tài)。

.checkboxFour input[type=checkbox]:checked + label { background: #26ca28;}

  

checkbox復(fù)選框樣式五

這個(gè)復(fù)選框的樣式有些不同,它看起來(lái)只是比瀏覽器默認(rèn)的checkbox樣式稍微好了些,但是不同的是我們可以根據(jù)自己的需要來(lái)定義它的樣式了。
首先還是一樣的HTML代碼

</pre><section><!-- Checbox Five --><h3>Checkbox Five</h3><div class="checkboxFive"><input id="checkboxFiveInput" type="checkbox" name="" value="1" /> <label for="checkboxFiveInput"></label></div></section><pre>

  在前面的例子中,我們把div作為checkbox的滑動(dòng)條帶或者外部的圓圈,但是這一次我們不需要了,可以使用div元素來(lái)設(shè)置復(fù)選框的區(qū)域。

.checkboxFive {
  width: 25px;
  margin: 20px 100px;
 position: relative;
}

  label標(biāo)簽用于Click事件和我們要定義的復(fù)選框的方框樣式。

.checkboxFive label {
  cursor: pointer;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  left: 0;
  background: #eee;
  border:1px solid #ddd;
}

  接下來(lái),我們要?jiǎng)?chuàng)建方框中的對(duì)勾,對(duì)于這一點(diǎn),我們可以使用:after偽類(lèi)創(chuàng)建一個(gè)新的元素,為了實(shí)現(xiàn)這個(gè)樣式,我們可以創(chuàng)建一個(gè)5px x 9px的長(zhǎng)方形并給他加上邊框。這時(shí)候我們?nèi)サ羯厦婧陀疫叺倪吙蛑?#xff0c;它會(huì)看起來(lái)像一個(gè)字母L。然后我們可以使用CSS的transform屬性讓它旋轉(zhuǎn)一下,這樣看起來(lái)就像是一個(gè)對(duì)勾。

.checkboxFive label:after {
  opacity: 0.2;
  content: '';
  position: absolute;
  width: 9px;
  height: 5px;
  background: transparent;
  top: 6px;
  left: 7px;
  border: 3px solid #333;
  border-top: none;
  border-right: none;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

  在上面的CSS中,我們已經(jīng)設(shè)置它的透明度為0.2,所以你會(huì)看到的復(fù)選框有一個(gè)半透明的對(duì)勾。你可以在懸停的時(shí)候加深一點(diǎn),在選中時(shí),可以把設(shè)置為不透明。

  

.checkboxFive label:hover::after {opacity: 0.5;} .checkboxFive input[type=checkbox]:checked + label:after {opacity: 1;}

  

轉(zhuǎn)載于:https://www.cnblogs.com/xupeiyu/p/4615711.html

總結(jié)

以上是生活随笔為你收集整理的checkbox复选框样式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。