純CSS3實現超炫酷的3D開關切換按鈕

2016-02-27    分類:素材庫、網頁按鈕程式碼、指令碼程式碼、首頁精華0人評論發表於2016-02-27

本文由碼農網 – 小峰原創,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

這是一款用純CSS3實現的開關切換按鈕,按鈕一共有四組樣式,每一組按鈕都有3D的視覺效果。和普通按鈕不同的是,它們都有著開關切換的用途,也就是說點選按鈕可以在兩個不同的狀態下進行切換,效果非常棒。實現原理也是比較簡單的,主要利用CSS3重寫checkbox的樣式,3D的效果也是CSS3實現的。

這裡我們對第二種樣式進行簡單的程式碼說明。

HTML程式碼

<section class="main">

	<div class="switch demo2">
		<input type="checkbox">
		<label></label>
	</div>

	<div class="switch demo2">
		<input type="checkbox" checked>
		<label></label>
	</div>

</section>

CSS程式碼:

.switch.demo2 {
  width: 50px;
  height: 100px;
}

.switch.demo2 label {
  background: #cbc7bc;
  margin: 0 auto;
  border-radius: 5px;
  box-shadow:
      inset 0 1px 0 white,
      0 0 0 1px #999,
      0 0 5px 1px rgba(0,0,0,0.2),
      0 2px 0 rgba(255,255,255,0.6),
      inset 0 10px 1px #e5e5e5,
      inset 0 11px 0 rgba(255,255,255,0.5),
      inset 0 -45px 3px #ddd;
}

.switch.demo2 label:after {
  content: "";
  position: absolute;
  top: -20px;
  left: -25px;
  bottom: -20px;
  right: -25px;
  background: #ccc;
  background: -moz-linear-gradient(#ddd, #bbb);
  background: -ms-linear-gradient(#ddd, #bbb);
  background: -o-linear-gradient(#ddd, #bbb);
  background: -webkit-gradient(linear, 0 0, 0 100%, from(#ddd), to(#bbb));
  background: -webkit-linear-gradient(#ddd, #bbb);
  background: linear-gradient(#ddd, #bbb);
  z-index: -1;
  border-radius: 5px;
  border: 1px solid #bbb;
  box-shadow:
      0 0 5px 1px rgba(0,0,0,0.15),
      0 3px 3px rgba(0,0,0,0.3),
      inset 0 1px 0 rgba(255,255,255,0.5);
}

.switch.demo2 label:before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background: #666;
  top: -13px;
  left: 20px;
  border-radius: 50%;
  box-shadow:
      0 120px 0 #666,
      0 1px 0 white,
      0 121px 0 white;
}

.switch.demo2 input:checked ~ label {
  background: #d2cbc3;
  box-shadow:
      inset 0 1px 0 white,
      0 0 0 1px #999,
      0 0 5px 1px rgba(0,0,0,0.2),
      inset 0 -10px 0 #aaa,
      0 2px 0 rgba(255,255,255,0.1),
      inset 0 45px 3px #e0e0E0,
      0 8px 6px rgba(0,0,0,0.18);
}

本文連結:http://www.codeceo.com/article/pure-css3-switch-button.html
本文作者:碼農網 – 小峰
原創作品,轉載必須在正文中標註並保留原文連結和作者等資訊。]

相關文章