使用CSS3美化復選框checkbox

通過css3偽元素實現(xiàn)以下樣式效果checkbox復選框

image.png

html部分

<div id="header">
   <div id="logo"><h1><a  title="返回helloweba首頁">helloweba</a></h1></div>
</div>

<div id="main">
   <h2 class="top_title"><a >使用CSS3美化復選框checkbox</a></h2>
    <div class="demo">
        <div class="wrap">
            <p>1. 勾選</p>
            <input type="checkbox" id="checkbox_a1" class="chk_1" checked /><label for="checkbox_a1"></label>
            <input type="checkbox" id="checkbox_a2" class="chk_1" /><label for="checkbox_a2"></label>
        </div>
        <div class="wrap" style="width:198px">
            <p>2. 單按鈕</p>
            <input type="checkbox" id="checkbox_b1" class="chk_2" /><label for="checkbox_b1">我同意</label>
        </div>
        
        <div class="wrap" style="width: 180px;">
            <p>3. 移動端開關</p>
            <input type="checkbox" id="checkbox_c1" class="chk_3" /><label for="checkbox_c1"></label>
            <input type="checkbox" id="checkbox_c2" class="chk_3" checked /><label for="checkbox_c2"></label>
        </div>
        
        <div class="wrap" style="width: 231px;">
            <p>4. 開啟和關閉</p>
            <input type="checkbox" id="checkbox_d1" class="chk_4" /><label for="checkbox_d1"></label>
            <input type="checkbox" id="checkbox_d2" class="chk_4" checked /><label for="checkbox_d2"></label>
        </div>
    </div>
</div>

css部分

.chk_1,.chk_2,.chk_3,.chk_4 {
    display: none;
}
 
/*******STYLE 1*******/
.chk_1 + label {
    background-color: #FFF;
    border: 1px solid #C1CACA;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), inset 0px -15px 10px -12px rgba(0, 0, 0, 0.05);
    padding: 9px;
    border-radius: 5px;
    display: inline-block;
    position: relative;
    margin-right: 30px;
}
.chk_1 + label:active {
    box-shadow: 0 1px 2px rgba(0,0,0,0.05), inset 0px 1px 3px rgba(0,0,0,0.1);
}

.chk_1:checked + label {
    background-color: #ECF2F7;
    border: 1px solid #92A1AC;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), inset 0px -15px 10px -12px rgba(0, 0, 0, 0.05), inset 15px 10px -12px rgba(255, 255, 255, 0.1);
    color: #243441;
}

.chk_1:checked + label:after {
    content: '\2714';
    position: absolute;
    top: 0px;
    left: 0px;
    color: #758794;
    width: 100%;
    text-align: center;
    font-size: 1.4em;
    padding: 1px 0 0 0;
    vertical-align: text-top;
}


/*******STYLE 2*******/
.chk_2 + label {
    background-color: #F37900;
    padding: 18px 20px 18px 23px;
    box-shadow: inset 0 50px 37px -30px rgba(255, 222, 197, 0.3), 0 0 13px rgba(0, 0, 0, 0.6);
    border-radius: 1000px;
    display: inline-block;
    position: relative;
    border-top: 1px solid #ECA14F;
    margin-right: 30px;
    color: #FFF;
    font-size: 1.7em;
    width: 113px;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid #552B09;
}

.chk_2 + label:hover  {
    border-top: 1px solid #FC8C1E;
    background: #FC8C1E;
    box-shadow: inset 0 -50px 37px -30px rgba(255, 222, 197, 0.07), 0 0 13px rgba(0, 0, 0, 0.6);
}

.chk_2 + label:active  {
    border-top: none;
    background: #FC8C1E;
    padding: 19px 20px 18px 23px;
    box-shadow: inset 0 3px 8px rgba(129, 69, 13, 0.3), inset 0 -50px 37px -30px rgba(255, 222, 197, 0.07), 0 0 13px rgba(0, 0, 0, 0.6);    
}

.chk_2 + label:after {
    content: ' ';
    border-radius: 100px;
    width: 32px;
    position: absolute;
    top: 12px;
    right: 12px;
    box-shadow: inset 0px 16px 40px rgba(0, 0, 0, 0.4);
    height: 32px;
}

.chk_2 + label:before {
    content: ' ';
    border-radius: 100px;
    width: 20px;
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 999;
    box-shadow: inset 0px 16px 40px #FFF;
    height: 20px;
    display: none;
}

.chk_2:checked + label:before {
    display: block;
}

/*******STYLE 3*******/

.chk_3 + label {
    background-color: #fafbfa;
    padding: 9px;
    border-radius: 50px;
    display: inline-block;
    position: relative;
    margin-right: 30px;
    -webkit-transition: all 0.1s ease-in;
    transition: all 0.1s ease-in;
    width: 40px;
    height: 15px;
}

.chk_3  + label:after {
    content: ' ';
    position: absolute;
    top: 0;
    -webkit-transition: box-shadow 0.1s ease-in;
    transition: box-shadow 0.1s ease-in;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 100px;
    box-shadow: inset 0 0 0 0 #eee, 0 0 1px rgba(0,0,0,0.4);
}

.chk_3  + label:before {
    content: ' ';
    position: absolute;
    background: white;
    top: 1px;
    left: 1px;
    z-index: 999999;
    width: 31px;
    -webkit-transition: all 0.1s ease-in;
    transition: all 0.1s ease-in;
    height: 31px;
    border-radius: 100px;
    box-shadow: 0 3px 1px rgba(0,0,0,0.05), 0 0px 1px rgba(0,0,0,0.3);
}

.chk_3:active + label:after {
    box-shadow: inset 0 0 0 20px #eee, 0 0 1px #eee;
}

.chk_3:active + label:before {
    width: 37px;
}

.chk_3:checked:active + label:before {
    width: 37px;
    left: 20px;
}

.chk_3  + label:active {
    box-shadow: 0 1px 2px rgba(0,0,0,0.05), inset 0px 1px 3px rgba(0,0,0,0.1);
}

.chk_3:checked + label:before {
    content: ' ';
    position: absolute;
    left: 26px;
    border-radius: 100px;
}

.chk_3:checked + label:after {
    content: ' ';
    font-size: 1.5em;
    position: absolute;
    background: #4cda60;
    box-shadow: 0 0 1px #4cda60;
}


/*******STYLE 4*******/
.chk_4 + label {
    background-color: #FFF;
    padding: 11px 9px;
    border-radius: 7px;
    display: inline-block;
    position: relative;
    margin-right: 30px;
    background: #F7836D;
    width: 58px;
    height: 10px;
    box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.1), 0 0 10px rgba(245, 146, 146, 0.4);
}

.chk_4 + label:before {
    content: ' ';
    position: absolute;
    background: #FFF;
    top: 0px;
    z-index: 99999;
    left: 0px;
    width: 24px;
    color: #FFF;
    height: 32px;
    border-radius: 7px;
    box-shadow: 0 0 1px rgba(0,0,0,0.6);
}

.chk_4 + label:after {
    content: '關閉';  
    position: absolute;
    top: 7px;
    left: 37px;
    font-size: 1.2em;
    color: white;
    font-weight: bold;
    left: 8px;
    padding: 5px;
    top: 4px;
    border-radius: 100px;
}

.chk_4:checked + label {
    background: #67A5DF;
    box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.1), 0 0 10px rgba(146, 196, 245, 0.4);
}

.chk_4:checked + label:after {
    content: '開啟';
    left: 10px;
}

.chk_4:checked + label:before {
    content: ' ';
    position: absolute;
    z-index: 99999;
    left: 52px;
}


.chk_4 + label:after {
    left: 35px; 
}   

#checkbox_d2 + label:after, #checkbox_d2 + label:before, #checkbox label {  
    -webkit-transition: all 0.1s ease-in;
    transition: all 0.1s ease-in;
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末藤滥,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌撼玄,老刑警劉巖梦染,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異马靠,居然都是意外死亡赏表,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門酝枢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恬偷,“玉大人,你說我怎么就攤上這事帘睦∨刍迹” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵竣付,是天一觀的道長诡延。 經(jīng)常有香客問我,道長古胆,這世上最難降的妖魔是什么肆良? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮逸绎,結果婚禮上惹恃,老公的妹妹穿的比我還像新娘。我一直安慰自己棺牧,他們只是感情好巫糙,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著颊乘,像睡著了一般参淹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上疲牵,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天承二,我揣著相機與錄音榆鼠,去河邊找鬼纲爸。 笑死,一個胖子當著我的面吹牛妆够,可吹牛的內容都是我干的识啦。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼神妹,長吁一口氣:“原來是場噩夢啊……” “哼颓哮!你這毒婦竟也來了?” 一聲冷哼從身側響起鸵荠,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤冕茅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體姨伤,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡哨坪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了乍楚。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片当编。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖徒溪,靈堂內的尸體忽然破棺而出忿偷,到底是詐尸還是另有隱情,我是刑警寧澤臊泌,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布鲤桥,位于F島的核電站,受9級特大地震影響渠概,放射性物質發(fā)生泄漏芜壁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一高氮、第九天 我趴在偏房一處隱蔽的房頂上張望慧妄。 院中可真熱鬧,春花似錦剪芍、人聲如沸塞淹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽饱普。三九已至,卻和暖如春状共,著一層夾襖步出監(jiān)牢的瞬間套耕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工峡继, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留冯袍,地道東北人。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓碾牌,卻偏偏與公主長得像康愤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子舶吗,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案征冷? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,737評論 1 92
  • 一:在制作一個Web應用或Web站點的過程中,你是如何考慮他的UI誓琼、安全性检激、高性能肴捉、SEO、可維護性以及技術因素的...
    Arno_z閱讀 1,141評論 0 1
  • Bootstrap是什么叔收? 一套易用每庆、優(yōu)雅、靈活今穿、可擴展的前端工具集--BootStrap缤灵。GitHub上介紹 的...
    凜0_0閱讀 10,861評論 3 184
  • Compilation failed; see the compiler error output for det...
    敲代碼的小新閱讀 1,525評論 0 0
  • 這周早上起的愈加晚了,又出現(xiàn)了打卡晚的情況蓝晒,沒堅持到最后腮出,陣亡了。雖然存在客觀原因芝薇,但是打卡群已經(jīng)給了自己兩次免死...
    狐貍王閱讀 429評論 0 50