樣式(12) -- checkbox12

preview

demo預(yù)覽

checkbox12

description

1.用 ::before, ::after 畫中間 Icon歹叮;為了控制內(nèi)部圖標(biāo)大小,圓形Icon border-box; 方塊Icon 用 content-box, 用 border 做兩個(gè) Icon 之間的間隙;

2.計(jì)算方塊圖標(biāo)位置:
top: 外圓半徑 - 內(nèi)圓半徑 - border(抵消 border) - 內(nèi)圓圓形圖標(biāo) border 的一半(上偏移量抚垄,實(shí)測(cè)得到);

3.支持 em, rem, vw, px, rpx;

scss

/* html
<div class="checkboxWrapper">
    <input type="checkbox" value="" id="myCheckbox" name="slide" checked>
    <label for="myCheckbox">
    </label>
</div>
*/

* { padding: 0; margin: 0; box-sizing: border-box; }
*::before, *::after{ box-sizing: border-box; }

$checkboxSize: 40px; /* 支持 em, rem, vw, px, rpx*/
$checkboxWidthTimes: 2;
$innerIconTimes: 0.5;
$innerIconSize: $checkboxSize * $innerIconTimes;
$checkboxWidth: $checkboxWidthTimes * $checkboxSize;

$checkboxIconLineWidth: 4px;
$checkboxIconLinewidthForCenterOne: 3px;
$checkboxIconSpace: 2px; /* 設(shè)置按鈕兩個(gè) Icon 之間的間隙 */

$checkboxBackgroundColor: #f9f8f6;
$IconColorForOFF: #ccc;
$IconColorForOFFandHover: #b3b3b3;
$IconColorForON: #FF9900;

$togglingTimeCost: 0.3s;

.checkboxWrapper {
  width: $checkboxSize;
  height: $checkboxSize;
  position: relative;

  & label {
    display: block;
    width: $checkboxSize;
    height: $checkboxSize;
    border-radius: 50%;
    background-color: $checkboxBackgroundColor;
    position: absolute;
    top: 0;
    left: 0;
    box-shadow: 0 5px 10px 0px #333, 0 10px 20px 0px #cccccc;
    transition: all $togglingTimeCost ease;

    &::before, &::after {
      content: "";
      display: block;
      box-sizing: border-box;
      position: absolute;
      transition: all $togglingTimeCost ease;
    }
    &::before {
      width: $innerIconSize;
      height: $innerIconSize;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      border-radius: 50%;
      background-color: transparent;
      border: $checkboxIconLineWidth solid $IconColorForOFF;
    }
    &::after {
      width: $checkboxIconLinewidthForCenterOne;
      height: $checkboxIconLineWidth * 3;
      box-sizing: content-box;
      background-color: $IconColorForOFF;
      left: 50%;
      top: calc(#{$checkboxSize} * 0.5 - #{$innerIconSize} * 0.5 - #{$checkboxIconSpace} - #{$checkboxIconLineWidth} * 0.5);
      transform: translate(-50%, 0%);
      border: $checkboxIconSpace solid $checkboxBackgroundColor;
    }
  }

  & input:checked + label {
    box-shadow: 0 2px 5px 0px gray, 0 15px 20px 0px transparent;

    &::before {
      border: $checkboxIconLineWidth solid $IconColorForON;
    }

    &::after {
      background-color: $IconColorForON;
    }
  }

  & input:not(:checked) + label:hover {
    &::before {
      border: $checkboxIconLineWidth solid $IconColorForOFFandHover;
    }
    &::after {
      background-color: $IconColorForOFFandHover;
    }
  }


  & input {
    display: none;
  }
}

素材參考:https://codepen.io/ashleynolan/pen/wBppKz

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末谋逻,一起剝皮案震驚了整個(gè)濱河市呆馁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌毁兆,老刑警劉巖浙滤,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異气堕,居然都是意外死亡纺腊,警方通過查閱死者的電腦和手機(jī)畔咧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來摹菠,“玉大人盒卸,你說我怎么就攤上這事骗爆〈伟保” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵摘投,是天一觀的道長煮寡。 經(jīng)常有香客問我,道長犀呼,這世上最難降的妖魔是什么幸撕? 我笑而不...
    開封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮外臂,結(jié)果婚禮上坐儿,老公的妹妹穿的比我還像新娘。我一直安慰自己宋光,他們只是感情好貌矿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著罪佳,像睡著了一般逛漫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赘艳,一...
    開封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天酌毡,我揣著相機(jī)與錄音,去河邊找鬼蕾管。 笑死枷踏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的掰曾。 我是一名探鬼主播呕寝,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼婴梧!你這毒婦竟也來了下梢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤塞蹭,失蹤者是張志新(化名)和其女友劉穎孽江,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體番电,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡岗屏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年辆琅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片这刷。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡婉烟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出暇屋,到底是詐尸還是另有隱情似袁,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布咐刨,位于F島的核電站昙衅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏定鸟。R本人自食惡果不足惜而涉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望联予。 院中可真熱鬧啼县,春花似錦、人聲如沸沸久。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽麦向。三九已至瘟裸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間诵竭,已是汗流浹背话告。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留卵慰,地道東北人沙郭。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像裳朋,于是被迫代替她去往敵國和親病线。 傳聞我的和親對(duì)象是個(gè)殘疾皇子撑碴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

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

  • 各種純css圖標(biāo) CSS3可以實(shí)現(xiàn)很多漂亮的圖形宙枷,我收集了32種圖形,在下面列出哈误。直接用CSS3畫出這些圖形暖眼,要比...
    劍殘閱讀 9,552評(píng)論 0 8
  • 1惕耕、屬性選擇器:id選擇器 # 通過id 來選擇類名選擇器 . 通過類名來選擇屬性選擇器 ...
    Yuann閱讀 1,633評(píng)論 0 7
  • 因?yàn)榻陧?xiàng)目沒有壓力,主要工作就是一些涉及功能增刪相關(guān)的界面的小工作诫肠,修修補(bǔ)補(bǔ)司澎,搞個(gè)圖標(biāo)之類欺缘,設(shè)計(jì)師小伙伴們都懂的...
    泱泱悲秋閱讀 4,959評(píng)論 1 27
  • 大家好,今天我們將會(huì)介紹一些非常實(shí)用的CSS小技巧挤安,讓我們開始吧谚殊! 混合模式 之前Firefox和Safari瀏覽...
    強(qiáng)哥科技興閱讀 241評(píng)論 0 0
  • 周排長是某炮兵部隊(duì)的現(xiàn)役軍人。 從18歲參軍蛤铜,到轉(zhuǎn)志愿兵再到考上軍校嫩絮,周健費(fèi)盡了心思,無論是平時(shí)訓(xùn)練昂羡,野外備戰(zhàn)拉練...
    柿葉青梅閱讀 438評(píng)論 1 0