CSS3模擬IOS滑動(dòng)開關(guān)效果

前言
H5站點(diǎn)需要IOS滑動(dòng)按鈕的效果,想了想似乎CSS3能搞起,就折騰出來了...挺簡單的..請看注釋
效果
代碼
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>CSS3模擬IOS開關(guān)</title>
- <style type="text/css" media="screen">
- /* ==========================================================================
- 設(shè)置根元素字體大小
- ========================================================================== */
- html {
- font-size: 100px;
- }
- /* ==========================================================================
- 設(shè)置模擬元素的包裹層,裝飾...毫無卵用
- ========================================================================== */
- .ios-checkbox{
- height:4rem;
- width:4rem;
- position:absolute;
- left:50%;
- top:50%;
- -webkit-transform:translate(-50%, -50%);
- transform:translate(-50%, -50%);
- border:.05rem dashed #3DB7A9;
- display:-webkit-box;
- display:-webkit-flex;
- display:-ms-flexbox;
- display:flex;
- -webkit-box-orient:horizontal;
- -webkit-box-direction:normal;
- -webkit-flex-direction:column;
- -ms-flex-direction:column;
- flex-direction:column;
- -webkit-flex-wrap:nowrap;
- -ms-flex-wrap:nowrap;
- flex-wrap:nowrap;
- -webkit-justify-content:space-around;
- -ms-flex-pack:distribute;
- justify-content:space-around;
- -webkit-box-align:center;
- -webkit-align-items:center;
- -ms-flex-align:center;
- align-items:center;
- }
- /* ==========================================================================
- label標(biāo)簽?zāi)M按鈕
- ========================================================================== */
- .emulate-ios-button {
- display: block;
- width: 2rem;
- height: 1rem;
- background: #ccc;
- border-radius: 5rem;
- cursor: pointer;
- position: relative;
- -webkit-transition: all .3s ease;
- transition: all .3s ease;
- }
- /* ==========================================================================
- 設(shè)置偽類,來實(shí)現(xiàn)模擬滑塊滑動(dòng),過渡用了transition來實(shí)現(xiàn) ,
- translateZ來強(qiáng)制啟用硬件渲染
- ========================================================================== */
- .emulate-ios-button:after {
- content: '';
- display: block;
- width: .9rem;
- height: .9rem;
- border-radius: 100%;
- background: #fff;
- box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
- position: absolute;
- left: .05rem;
- top: .05rem;
- -webkit-transform:translateZ(0);
- transform:translateZ(0);
- -webkit-transition: all .3s ease;
- transition: all .3s ease;
- }
- .emulate-ios-button:active:after {
- width: 1.1rem;
- }
- /* ==========================================================================
- 設(shè)置raw-checkbox,視覺直觀比較
- ========================================================================== */
- .raw-checkbox{
- height:2rem;
- width:2rem;
- }
- .raw-checkbox:checked+label {
- background: #34bf49;
- }
- /* 這里是偽元素偏移,初始是0.9+0.05 ,所以這里1.05rem */
- .raw-checkbox:checked+label:after {
- left: 1.05rem;
- }
- .raw-checkbox:checked+label:active:after {
- left: .5rem;
- }
- .raw-checkbox:disabled+label {
- background: #d5d5d5;
- pointer-events: none;
- }
- .raw-checkbox:disabled+label:after {
- background: #bcbdbc;
- }
- </style>
- </head>
- <body>
- <div class="ios-checkbox">
- <input type="checkbox" id="ios-checkbox" name="emulate-ios-button" class="raw-checkbox">
- <label for="ios-checkbox" class="emulate-ios-button"></label>
- </div>
- </body>
- </html>
總結(jié)
為了更直觀的比較,raw checkbox我就沒有隱藏了。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
如何用css3實(shí)現(xiàn)switch組件開關(guān)的方法
這篇文章主要介紹了如何用css3實(shí)現(xiàn)switch組件的方法的相關(guān)資料,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-09CSS3實(shí)現(xiàn)的多組創(chuàng)意互動(dòng)式開關(guān)切換按鈕動(dòng)畫特效源碼
CSS3實(shí)現(xiàn)的創(chuàng)意互動(dòng)式開關(guān)切換按鈕特效源碼是一段實(shí)現(xiàn)了多組創(chuàng)意的CSS3動(dòng)畫按鈕特效,如:白天黑夜、難過開心、高亮等等,非常實(shí)用,歡迎有需要的朋友前來下載使用2018-01-26CSS3美化單選/復(fù)選/開關(guān)按鈕樣式特效源碼
CSS3美化單選/復(fù)選/開關(guān)按鈕樣式特效源碼是一款純CSS3的單選框,復(fù)選框,開關(guān)按鈕UI庫,實(shí)現(xiàn)了按鈕可選和按鈕不可選的效果,非常不錯(cuò),歡迎有需要的朋友前來下載使用2017-12-21純CSS3實(shí)現(xiàn)漂亮的點(diǎn)擊開關(guān)切換動(dòng)畫效果源碼
這是一款基于純CSS3實(shí)現(xiàn)漂亮的點(diǎn)擊開關(guān)切換動(dòng)畫效果源碼。界面上的開關(guān)按鈕點(diǎn)擊時(shí)可呈現(xiàn)出帶有彈性翻牌動(dòng)作的動(dòng)畫視覺效果2017-11-02純CSS3實(shí)現(xiàn)的炫酷checkbox復(fù)選框美化庫checkboxes.css(含開關(guān)按鈕美化
checkboxes.css是一款純CSS3炫酷checkbox復(fù)選框美化庫。checkboxes.css可以通過在HTML代碼中簡單的class配置,生成多種不同效果的checkbox美化樣式,其中包括復(fù)選框按鈕美2017-09-05純css3實(shí)現(xiàn)的仿窗簾拉開關(guān)閉百葉窗動(dòng)畫特效源碼
這是一款基于純css3實(shí)現(xiàn)的仿窗簾拉開關(guān)閉百葉窗動(dòng)畫特效源碼。右側(cè)有兩個(gè)下拉桿,可點(diǎn)擊控制百葉窗的打開與折疊收起等動(dòng)畫效果。2017-06-22純CSS3實(shí)現(xiàn)精美的滑動(dòng)開關(guān)按鈕特效
本特效是一組使用CSS3制作的精美滑動(dòng)開關(guān)按鈕效果的代碼,這組滑動(dòng)按鈕按Bootstrap的情景類來設(shè)計(jì),可以適應(yīng)5種不同的場景2016-09-23純CSS3簡單的滑動(dòng)開關(guān)按鈕特效源碼
本源碼是一個(gè)使用純CSS3制作的滑動(dòng)開關(guān)按鈕特效的代碼。使用偽元素來制作外觀,制作出4種安卓樣式特效2016-04-07純CSS3實(shí)現(xiàn)的開關(guān)按鈕動(dòng)畫特效源碼
是一款可以使用鼠標(biāo)來控制開關(guān)滑動(dòng),按鈕開關(guān)滑動(dòng)時(shí)帶有很炫的動(dòng)畫和漸變效果的代碼,本段代碼適應(yīng)于所有網(wǎng)頁使用,有興趣的朋友們可以前來下載使用2015-10-15純css實(shí)現(xiàn)一款仿ios7的switches開關(guān)按鈕
這篇文章主要為大家介紹了純css實(shí)現(xiàn)的一款仿ios7的switches開關(guān)按鈕,無需引js代碼。在實(shí)現(xiàn)中給出了兩種顏色,三種不同大小的demo,需要的朋友可以參考下2014-10-22