CSS Transition實現(xiàn)switch開關(guān)效果

知識點:

1.css3 transition的使用
2.label 和 checkbox的綁定
3.absolute與relative的使用
4.css3偽元素

講解:

1.css3 transition
參考資料:http://www.w3school.com.cn/cssref/pr_transition.asp
個人理解:主要用于實現(xiàn)html元素的屬性進行漸進式的變化。所以必輸元素有三:屬性 漸變時間長度 漸變效果

2.label和checkbox的綁定
參考資料:http://www.w3school.com.cn/tags/att_label_for.asp
個人理解:分為隱式和顯示兩種磁玉。通過id進行綁定鲁豪,將label綁定到checkbox刁岸,能夠讓點擊label時够掠,讓checkbox也獲得焦點碳默。

3.absolute和relateive的使用
參考資料:http://www.reibang.com/p/a3da5e27d22b http://www.reibang.com/p/07eb19957991
個人理解:absolute讓元素脫離文檔流挠日,并且父元素徹底無法感知加了absolute的元素宝磨。relative給absolute添加了天花板弧关,在relative的范圍內(nèi)變化。

設(shè)計思路:

開關(guān)按鈕存在開關(guān)兩種狀態(tài)懊烤,最適合模擬的元素為checkbox梯醒。checkbox比較丑,所以我們需要保留元素功能腌紧,隱藏元素茸习,同時還能夠獲得和丟失checkbox的狀態(tài)。因此壁肋,需要引入label号胚,作為顯示籽慢。label作為容器,內(nèi)部添加兩個span猫胁。一個是用來顯示on/off箱亿,一個用來表示開關(guān)的小按鈕。on/off作為文字進行滑動效果弃秆,小按鈕也引入滑動效果届惋。

代碼實現(xiàn):
<html>
<head>
<title>switch</title>
<style type="text/css">
.switch{
display: block;
float: left;
position: relative;
width: 200px;
height: 50px;
}
#test{
display: none;
}
.switch-label{
display: block;
overflow: hidden;
width: 160px;
height: 50px;
border-radius: 8px;
border: 1px solid gray;
}
.switch-txt {
display: block;
width: 200%;
border-radius: 8px;
height: 50px;
transition:margin 0.3s ease-in;
}
.switch-txt::before,.switch-txt:after {
display: block;
float: right;
text-align: center;
line-height: 50px;
width: 50%;
height: 50px;
}
.switch-txt::before {
content: attr(data-on);
background-color: green;
}
.switch-txt::after {
content: attr(data-off);
background-color: gray;
}
.switch-switch {
display: block;
position: absolute;
width: 20px;
border-radius: 8px;
top: 0;
bottom: 0;
right: 89%;
background-color: white;
transition: all 0.3s ease-in;
}
#test:checked + .switch-label .switch-switch {
right:40px;
}
#test:checked + .switch-label .switch-txt {
margin-left: -100%;
}
</style>
</head>
<body>
<div class="switch">
<input id="test" type="checkbox">
<label for="test" class="switch-label">
<span class="switch-txt" data-on="ON" data-off="OFF"></span>
<span class="switch-switch"></span>
</label>
</div>
</body>
</html>

實現(xiàn)效果:

Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市菠赚,隨后出現(xiàn)的幾起案子脑豹,更是在濱河造成了極大的恐慌,老刑警劉巖衡查,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瘩欺,死亡現(xiàn)場離奇詭異,居然都是意外死亡拌牲,警方通過查閱死者的電腦和手機俱饿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來塌忽,“玉大人拍埠,你說我怎么就攤上這事⊙馄牛” “怎么了械拍?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長装盯。 經(jīng)常有香客問我,道長甲馋,這世上最難降的妖魔是什么埂奈? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮定躏,結(jié)果婚禮上账磺,老公的妹妹穿的比我還像新娘。我一直安慰自己痊远,他們只是感情好垮抗,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著碧聪,像睡著了一般冒版。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上逞姿,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天辞嗡,我揣著相機與錄音捆等,去河邊找鬼。 笑死续室,一個胖子當著我的面吹牛栋烤,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播挺狰,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼明郭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了丰泊?” 一聲冷哼從身側(cè)響起达址,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎趁耗,沒想到半個月后沉唠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡苛败,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年满葛,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罢屈。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡嘀韧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出缠捌,到底是詐尸還是另有隱情锄贷,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布曼月,位于F島的核電站谊却,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏哑芹。R本人自食惡果不足惜炎辨,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望聪姿。 院中可真熱鬧碴萧,春花似錦、人聲如沸末购。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盟榴。三九已至曹质,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咆繁。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工讳推, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人玩般。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓银觅,卻偏偏與公主長得像,于是被迫代替她去往敵國和親坏为。 傳聞我的和親對象是個殘疾皇子究驴,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

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

  • 各種純css圖標 CSS3可以實現(xiàn)很多漂亮的圖形,我收集了32種圖形匀伏,在下面列出洒忧。直接用CSS3畫出這些圖形,要比...
    劍殘閱讀 9,476評論 0 8
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案够颠? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 13,728評論 1 92
  • 1熙侍、垂直對齊 如果你用CSS,則你會有困惑:我該怎么垂直對齊容器中的元素履磨?現(xiàn)在蛉抓,利用CSS3的Transform,...
    kiddings閱讀 3,150評論 0 11
  • 本課來自http://www.imooc.com/learn/9請不要用作商業(yè)用途剃诅。 HTML5 HTML介紹 H...
    PYLON閱讀 3,200評論 0 5
  • 從大學(xué)畢業(yè)到現(xiàn)在,一直覺得自己的大學(xué)生活過得無怨無悔聊品,沒有什么遺憾飞蹂,社團能做的也做了、戀愛能談的也談了杨刨、勤工儉學(xué)(...
    NJ_LIFE閱讀 651評論 7 17