自定義復(fù)選框樣式

難題

CSS最初出現(xiàn)時(shí)务唐,對(duì)表單元素的樣式控制力有限。不過(guò)近年來(lái)又兵,各種瀏覽器逐步放開(kāi)CSS屬性對(duì)變單控件的作用范圍任柜。從而設(shè)置大多數(shù)表單控件的樣。
不過(guò)單選框和復(fù)選框不在此例沛厨,這兩個(gè)控件絕大多數(shù)瀏覽器無(wú)法設(shè)置樣式宙地。


解決方案

通過(guò)label 標(biāo)簽的:before偽元素實(shí)現(xiàn)。

當(dāng)<label>元素與復(fù)選框關(guān)聯(lián)后逆皮,點(diǎn)擊label標(biāo)簽同樣能觸發(fā)事件宅粥。

通過(guò)對(duì)偽元素的美化實(shí)現(xiàn)復(fù)選框。

1.HTML代碼如下

<input id="checkbox1" type="checkbox" value="1"/>
<label for="checkbox1"> 測(cè)試 </label> 

2.美化偽元素代碼如下

input[type="checkbox"] + label::before{
    content: '\a0'; /* 不換行空格*/
    display:inline-block;
    vertical-align: -1px;
    width: 15px;
    height:15px;
    margin-right:5px;
    border-radius: 3px;
    background: silver;
    text-indent: 2px;
    line-height:16px;
}

顯示效果如下
初始.jpeg

3.設(shè)置選中狀態(tài)

input[type="checkbox"]:checked + label::before{
    content:'\2713';
    background: yellowgreen;
}

4.將復(fù)選框 隱藏起來(lái)电谣。不能設(shè)置 display:none ,會(huì)將它從tab鍵切換焦點(diǎn)的隊(duì)列中刪除秽梅。

代碼如下

input[type="checkbox"] {
    position: absolute;
    clip: rect(0,0,0,0);
}

5.設(shè)置獲取焦點(diǎn)和禁用狀態(tài)樣式

input[type="checkbox"]:focus + label::before{
    box-shadow:0 0 2px 2px #58a;
}
input[type="checkbox"]:disabled + label::before{
    background: gray;
    box-shadow:none;
    color:#555;
} 

這樣就完成了checkbox的美化抹蚀。
最終樣式如下:


默認(rèn).jpg
選中.jpg
獲取焦點(diǎn).jpg

這樣就完成了checkbox的美化。
可以通過(guò)類(lèi)似的設(shè)置創(chuàng)建一個(gè)開(kāi)關(guān)按鈕企垦。(checkbox隱藏,修改label樣式)

html

<input id="switch" type="checkbox" class="switch">
<label for="switch">提交<label/>

CSS

<style>
    input[class="switch"] {
        position:absolute;
        clip: rect(0,0,0,0);
    }
    
    input[class="switch"]+ label {
        width:65px;
        display: inline-block;
        background:#ccc;
        background: linear-gradient(#ddd,#bbb);
        border: 1px solid rgba(0,0,0, 0.1);
        border-radius:5px;
        text-align: center;
        text-shadow: 0 1px 1px white
    }
    
    input[class="switch"]:checked+ label,
    input[class="switch"]:active+ label {
        box-shadow: 1px 1px 1px rgba(0,0,0,0.3) inset;
        border-color:rgba(0,0,0,0.4);
        background: #bbb;
    }
</style>

效果圖:


switch.jpg
switch-click.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末环壤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子钞诡,更是在濱河造成了極大的恐慌郑现,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件臭增,死亡現(xiàn)場(chǎng)離奇詭異懂酱,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)誊抛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)列牺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人拗窃,你說(shuō)我怎么就攤上這事瞎领。” “怎么了随夸?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵九默,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我宾毒,道長(zhǎng)驼修,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任诈铛,我火速辦了婚禮乙各,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘幢竹。我一直安慰自己耳峦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布焕毫。 她就那樣靜靜地躺著蹲坷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪邑飒。 梳的紋絲不亂的頭發(fā)上循签,一...
    開(kāi)封第一講書(shū)人閱讀 49,950評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音疙咸,去河邊找鬼县匠。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的聚唐。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼腔召,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼杆查!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起臀蛛,我...
    開(kāi)封第一講書(shū)人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤亲桦,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后浊仆,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體客峭,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年抡柿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了舔琅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡洲劣,死狀恐怖备蚓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情囱稽,我是刑警寧澤郊尝,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站战惊,受9級(jí)特大地震影響流昏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吞获,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一况凉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧衫哥,春花似錦茎刚、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至蚊荣,卻和暖如春初狰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背互例。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工奢入, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人媳叨。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓腥光,卻偏偏與公主長(zhǎng)得像关顷,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子武福,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • Bootstrap是什么议双? 一套易用、優(yōu)雅捉片、靈活平痰、可擴(kuò)展的前端工具集--BootStrap。GitHub上介紹 的...
    凜0_0閱讀 10,862評(píng)論 3 184
  • 本課來(lái)自http://www.imooc.com/learn/9請(qǐng)不要用作商業(yè)用途伍纫。 HTML5 HTML介紹 H...
    PYLON閱讀 3,212評(píng)論 0 5
  • Checkbox復(fù)選框是一個(gè)可能每一個(gè)網(wǎng)站都在使用的HTML元素宗雇,但大多數(shù)人并不給它們?cè)O(shè)置樣式,所以在絕大多數(shù)網(wǎng)站...
    mhy_web閱讀 7,728評(píng)論 0 0
  • 很多人都會(huì)說(shuō)我要改變莹规,我想要改變赔蒲,我不想不自信,我不想過(guò)重復(fù)的生活访惜,我不想過(guò)…… 你付出過(guò)嗎嘹履?你行動(dòng)過(guò)嗎? 如果你...
    唯吾德昕閱讀 187評(píng)論 0 0
  • 已經(jīng)有將近半年沒(méi)有帶貝貝出門(mén)溜達(dá)了债热。 今天天氣不錯(cuò)砾嫉。雖然已經(jīng)入冬,但是南方的冬天向來(lái)不夠雷厲風(fēng)行窒篱,總是一次次失敗焕刮,...
    笑笑竹筍妹閱讀 407評(píng)論 0 1