摘要:只是需要把要改變的屬性在重新重置一下,需要在媒體查詢中擁有自己的選擇器,但會招致額外的大量代碼,像下面這樣查看效果新方法下面讓我們來看如何使用變量來解決這個問題。
在創(chuàng)新的2018年已經(jīng)過去,在2019年看看如何簡單做成響應(yīng)性的網(wǎng)站
如果你未曾聽說過CSS變量,那么我告訴你,它就是CSS的一種新功能,可以讓你擁有在樣式表中使用變量的能力,這樣做時并不需要什么特別的設(shè)置呦。
從本質(zhì)上講,CSS變量可以讓你擺脫老式的樣式設(shè)置:
h1 { font-size: 30px; } navbar>a { font-size: 30px; }
/ …而是主張這樣寫: /
:root { --base-font-size: 30px; } h1 { font-size: var(--base-font-size); } navbar>a { font-size: var(--base-font-size); }
這樣的語法看起來的確有點怪怪的,但有沒有覺得它和less、sass中的變量有點類似呢,但如此一來,只要更改–base-font-size 變量,就能在整個應(yīng)用中改變字號了。
如果你想把CSS變量學明白,可以在Scrimba網(wǎng)站 這里有免費互動CSS變量課程,該課程包含8個互動截屏。
今天來講一下如何用CSS變量創(chuàng)建響應(yīng)布局這是一段html
在以前即使不使用CSS變量也可以把這些事情搞定。只是需要把要改變的屬性在重新重置一下,需要在媒體查詢中擁有自己的選擇器,但會招致額外的大量代碼,像下面這樣:
.item { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-around; padding: 10px; li { background-color: #ff6f69; border: 1px solid #fff; font-size: 20px; height: 200px; list-style-type: none; width: 100%; } } @media (min-width: 768px) { .item { flex-direction: row; li { background-color: #ffcc5c; font-size: 50px; height: 300px; width: 50%; } } } @media (min-width: 992px) { .item { flex-wrap: nowrap; li { background-color: #ffeead; font-size: 100px; height: 500px; width: calc(100% / 4); } } }
查看效果
新方法下面讓我們來看如何使用CSS變量來解決這個問題。首先,要把我們將重復(fù)利用和更改的數(shù)值存儲在變量的內(nèi)部:
:root { --base-color: #ff6f69; --base-font-size: 20px; --direction: column; --width: 100%; --height: 200px; }
然后,在整個頁面中簡單地使用這些變量就行了:
.item { display: flex; padding: 10px; justify-content: space-around; flex-direction: var(--direction); flex-wrap: var(--wrap); li{ list-style-type: none; border: 1px solid #fff; height: var(--height); width: var(--width); background-color: var(--base-color); font-size: var(--base-font-size); } }
一旦進行了這樣的設(shè)置之后,我們只要在媒體查詢中簡單地更改變量值就行了:
@media (min-width: 768px) { :root { --base-font-size: 60px; --base-color: #ffcc5c; --direction: row; --height: 300px; --width: 50%; --wrap:wrap; } } @media (min-width: 992px) { :root { --base-font-size: 100px; --base-color: #ffeead; --direction: row; --height: 500px; --width: calc(100% / 4); --wrap:nowrap; } }
查看效果
這比我們以往的方法簡便多了。只需盯住 :root,而不必為所有的選擇器指定值了。
這只是一個簡單的例子。設(shè)想成熟的網(wǎng)站會是什么樣子吧,例如,用 –base-margin 來控制APP四周的多數(shù)自由空間。想翻轉(zhuǎn)其值也是很容易的事情,不必用復(fù)雜的選擇器來填充媒體查詢了。
總之,CSS變量絕對是提高響應(yīng)速度時,所代表的未來。
作者: w3cbest前端開發(fā)
互動: 如有疑問可進群討論
本文原創(chuàng),著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系@w3cbest前端開發(fā)獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明原鏈接及出處。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/53578.html
摘要:只是需要把要改變的屬性在重新重置一下,需要在媒體查詢中擁有自己的選擇器,但會招致額外的大量代碼,像下面這樣查看效果新方法下面讓我們來看如何使用變量來解決這個問題。 在創(chuàng)新的2018年已經(jīng)過去,在2019年看看如何簡單做成響應(yīng)性的網(wǎng)站 如果你未曾聽說過CSS變量,那么我告訴你,它就是CSS的一種新功能,可以讓你擁有在樣式表中使用變量的能力,這樣做時并不需要什么特別的設(shè)置呦。 從本質(zhì)上講,...
摘要:層疊樣式表二修訂版這是對作出的官方說明。速查表兩份表來自一份關(guān)于基礎(chǔ)特性,一份關(guān)于布局。核心第一篇一份來自的基礎(chǔ)參考指南簡寫速查表簡寫形式參考書使用層疊樣式表基礎(chǔ)指南,包含使用的好處介紹個方法快速寫成高質(zhì)量的寫出高效的一些提示。 迄今為止,我已經(jīng)收集了100多個精通CSS的資源,它們能讓你更好地掌握CSS技巧,使你的布局設(shè)計脫穎而出。 CSS3 資源 20個學習CSS3的有用資源 C...
閱讀 1179·2023-04-26 02:38
閱讀 1473·2021-11-22 09:34
閱讀 1180·2021-09-26 10:19
閱讀 3159·2019-08-29 17:15
閱讀 3515·2019-08-29 12:27
閱讀 1715·2019-08-26 13:51
閱讀 1858·2019-08-26 13:47
閱讀 1010·2019-08-26 12:20