[JavaScript30 筆記] 03-CSS Variables

寫在系列開篇

在學(xué)習(xí)了基本的 HTML / CSS / JavaScript 之后沒有啥 side project 就直接開始學(xué) Angular 做項(xiàng)目惠况。遇到最近很火的JavaScript30這個(gè)項(xiàng)目后決心好好實(shí)踐一下 Vanilla JavaScript。

對于每個(gè)挑戰(zhàn),我會(huì)自己在看過視頻了解原理后自己實(shí)現(xiàn)一遍并在 blog 里記錄過程楷力、想法和相關(guān)資料趟妥。源碼放在我的 Github上亮曹,demo 通過 Github Pages 部署氛什,點(diǎn)擊這里或 Github 的 readme 中連接可以訪問。

Objective

利用 CSS Variable 和 JS 進(jìn)行樣式屬性的控制片习。


Demo
Demo

Steps

CSS 部分

  1. 定義全局 CSS 變量 --spacing, --blur, --base捌肴;
  2. 將 CSS 變量添加到樣式屬性上蹬叭。

JS 部分

  1. 對每個(gè) type 類型的 input 標(biāo)簽添加監(jiān)聽器,觸發(fā)事件有 moutsemove, change状知;
  2. 更新全局的 CSS 屬性: document.documentElement.style.setProperty()秽五。

Things learned

CSS Variable

MDN 文檔
一般將 CSS 變量定義在 root element 的 pseudo-class 上,以 '--' 開頭

:root {
    --spacing: 10px;
    --blur: 10px;
    --base: #ffc600;
}

在使用時(shí)只要用 var(--blur) 進(jìn)行調(diào)用即可饥悴。

雖然 Sass/Less 中也有變量坦喘,但其是在編譯期完成綁定,原生 CSS 變量可以在運(yùn)行時(shí)改變西设,功能更強(qiáng)大瓣铣。

<input> tag

MDN The HTML <input> element is used to create interactive controls for web-based forms in order to accept data from the user. How an <input> works varies considerably depending on the value of its type attribute.

<input> 標(biāo)簽的基本作用是進(jìn)行用戶交互輸入數(shù)據(jù),根據(jù) "type" 屬性制定輸入類型贷揽,種類非常豐富:

  • type=button: link, menuitem, menuitemcheckbox, menuitemradio, radio, switch, tab
  • type=checkbox: button, menuitemcheckbox, option, switch
  • type=image: link, menuitem, menuitemcheckbox, menuitemradio, radio, switch
  • type=radio: menuitemradio
  • type=color|date|datetime|email|file|hidden: None
  • type=month|number|password|range|research: None
  • type=search|submit|tel|text|url|week: None

這個(gè)demo中用到了:

  • color: 根據(jù) OS 喚出取色器
  • range: 一般用于具體數(shù)值不重要棠笑,可以根據(jù)比例估算的輸入,默認(rèn)值為:
    • min: 0
    • max: 100
    • value: min + (max - min) / 2, min 如果 max < min
    • step: 1
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末禽绪,一起剝皮案震驚了整個(gè)濱河市蓖救,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌印屁,老刑警劉巖循捺,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異雄人,居然都是意外死亡从橘,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進(jìn)店門础钠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洋满,“玉大人,你說我怎么就攤上這事珍坊。” “怎么了正罢?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵阵漏,是天一觀的道長。 經(jīng)常有香客問我翻具,道長履怯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任裆泳,我火速辦了婚禮叹洲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘工禾。我一直安慰自己运提,他們只是感情好蝗柔,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著民泵,像睡著了一般癣丧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上栈妆,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天胁编,我揣著相機(jī)與錄音,去河邊找鬼鳞尔。 笑死嬉橙,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的寥假。 我是一名探鬼主播市框,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼昧旨!你這毒婦竟也來了拾给?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤兔沃,失蹤者是張志新(化名)和其女友劉穎蒋得,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乒疏,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡额衙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了怕吴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窍侧。...
    茶點(diǎn)故事閱讀 39,773評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖转绷,靈堂內(nèi)的尸體忽然破棺而出伟件,到底是詐尸還是另有隱情,我是刑警寧澤议经,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布斧账,位于F島的核電站,受9級特大地震影響煞肾,放射性物質(zhì)發(fā)生泄漏咧织。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一籍救、第九天 我趴在偏房一處隱蔽的房頂上張望习绢。 院中可真熱鬧,春花似錦蝙昙、人聲如沸闪萄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽桃煎。三九已至篮幢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間为迈,已是汗流浹背三椿。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留葫辐,地道東北人搜锰。 一個(gè)月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像耿战,于是被迫代替她去往敵國和親蛋叼。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評論 2 354

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案剂陡? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,751評論 1 92
  • 深入理解傅里葉變換Mar 12, 2017 這原本是我在知乎上對傅立葉變換狈涮、拉普拉斯變換、Z變換的聯(lián)系鸭栖?為什么要進(jìn)...
    價(jià)值趨勢技術(shù)派閱讀 5,758評論 2 2
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color歌馍,font,text-align晕鹊,li...
    wzhiq896閱讀 1,750評論 0 2
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color松却,font,text-align溅话,li...
    love2013閱讀 2,314評論 0 11
  • 既定的選擇飞几,哪怕前路昏茫砚哆,也要踏破迷疆,垠垠坎坷屑墨,磨盡你的鋒芒躁锁; 閱盡千帆,必定褪去塵世喧囂绪钥。 天穹何廣,厚土?xí)r茫...
    Rain堯宇閱讀 397評論 0 0