CSS現在越來越成熟,從CSS3開始,CSS可以做的事情越來越多,比如這個有趣的旋轉拉桿開關效果就可以利用CSS實現。下面我們就來介紹一下如何使用CSS實現這個效果。
.toggle { width: 100px; height: 50px; position: relative; } .toggle-base { display: block; width: 100%; height: 100%; background-color: #ccc; position: absolute; top: 0; left: 0; } .toggle-handle { display: block; width: 30px; height: 30px; background-color: #fff; border-radius: 50%; position: absolute; top: 50%; left: 10px; margin-top: -15px; transition: all 0.3s ease; } .toggle-handle::before { content: ""; display: block; width: 30px; height: 30px; background-color: #ccc; border-radius: 50%; position: absolute; top: 50%; left: 0; margin-top: -15px; } .toggle:checked + .toggle-base .toggle-handle { transform: translateX(50%); }
上面的代碼中,我們創建了一個.toggle元素作為開關來管理狀態,我們設置了一個.toggle-base元素作為基礎,然后我們創建一個.toggle-handle元素作為開關的按鈕,并在其前面添加一個圓形的填充色為灰色的.toggle-handle::before元素。
最后,我們通過:checked偽類選擇器來指定開關的狀態,當開關被選擇時,使用transform屬性將.toggle-handle元素向右移動到基礎的右側(50%)處。
這樣,就實現了一個簡單而有趣的旋轉拉桿開關效果。
上一篇css實現文本框上下居中
下一篇css實現時間軸原理