欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

css自定義開關按鈕樣式

錢浩然2年前12瀏覽0評論

CSS自定義開關按鈕樣式

隨著移動端的興起,越來越多的開關按鈕出現在我們的APP和網頁中。為了讓頁面更加美觀,我們通常需要對這些開關按鈕的樣式進行一定的調整。CSS自定義開關按鈕樣式就是一個很好的解決方案。

先看一下基本的HTML代碼:

<label class="switch">
<input type="checkbox">
<span class="slider round"></span>
</label>

代碼解析:

label標簽的class為switch,內部包含一個checkbox和一個span,checkbox用來記錄開關狀態,span用來實現開關的滑動效果。

接下來是CSS樣式的實現:

.switch {
position: relative;
display: inline-block;
width: 60px;
height: 34px;
}
.switch input { 
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
}
.slider:before {
position: absolute;
content: "";
height: 26px;
width: 26px;
left: 4px;
bottom: 4px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}
input:checked + .slider {
background-color: #2196F3;
}
input:focus + .slider {
box-shadow: 0 0 1px #2196F3;
}
input:checked + .slider:before {
-webkit-transform: translateX(26px);
-ms-transform: translateX(26px);
transform: translateX(26px);
}

CSS解析:

首先給"label"設置一個相對定位,以便里面的內容得以相對定位。

給"input"設置"opacity: 0",并且設置"width: 0;"和"height: 0;",不顯示它,但是仍舊可以檢測其狀態。

對于"slider"樣式,我們給它設置"position: absolute;"和"cursor: pointer;",然后將它的位置設置為全面積。當我們鼠標懸停在其上面,我們需要通過過渡效果將"background-color"從"ccc"變為"2196F3",時間為".4s",以實現開關按鈕的滑動效果。

"slider:before"樣式表示在開關按鈕的滑塊之前設置一個前綴,它的位置相對于開關按鈕的滑塊。然后將"input:checked + .slider"樣式中的"控件選中"指針事件應用到它上面,為它設置"transform: translateX(26px);",使它相對于開關按鈕的滑塊向右移動"26px"。

最后,我們將該樣式應用到標簽"class"為"switch"的"label"中,以實現自定義的開關按鈕樣式。