如何用Css3實現Switch元件

weixin_33670713發表於2018-02-09

基於表單的Checkbox

效果圖


5531211-3baa0143dc53a5a6.gif
switch.gif

原理
Checkbox, 有兩種狀態, 沒選中和選中, 當選中的時候(:checked), 改變樣式即可, 首先得清除瀏覽器預設的樣式, apperance: none, 本文程式碼只在chrome中執行, 如果需要寫相容性程式碼, 給apperance和transition加上字首就好

html程式碼

<input class='switch-component' type='checkbox'>

css程式碼

// switch元件
.switch-component {
  position: relative;
  width: 60px;
  height: 30px;
  background-color: #dadada;
  border-radius: 30px;
  border: none;
  outline: none;
  -webkit-appearance: none;
  transition: all .2s ease;
}

// 按鈕
.switch-component::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background-color: #fff;
  border-radius: 50%;
  transition: all .2s ease;
 }

// checked狀態時,背景顏色改變
.switch-component:checked {
  background-color: #86c0fa;
}

// checked狀態時,按鈕位置改變
.switch-component:checked::after {
  left: 50%;
 }
如果您喜歡這篇文章,那麼記得動動你們的?,給個like或者關注我哦?。

相關文章