成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

學(xué)習(xí)如何用CSS變量創(chuàng)建網(wǎng)頁(yè)響應(yīng)布局 — css var()

jemygraw / 2461人閱讀

摘要:只是需要把要改變的屬性在重新重置一下,需要在媒體查詢中擁有自己的選擇器,但會(huì)招致額外的大量代碼,像下面這樣查看效果新方法下面讓我們來(lái)看如何使用變量來(lái)解決這個(gè)問題。

在創(chuàng)新的2018年已經(jīng)過去,在2019年看看如何簡(jiǎn)單做成響應(yīng)性的網(wǎng)站

如果你未曾聽說過CSS變量,那么我告訴你,它就是CSS的一種新功能,可以讓你擁有在樣式表中使用變量的能力,這樣做時(shí)并不需要什么特別的設(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);
}

這樣的語(yǔ)法看起來(lái)的確有點(diǎn)怪怪的,但有沒有覺得它和less、sass中的變量有點(diǎn)類似呢,但如此一來(lái),只要更改–base-font-size 變量,就能在整個(gè)應(yīng)用中改變字號(hào)了。

如果你想把CSS變量學(xué)明白,可以在Scrimba網(wǎng)站 這里有免費(fèi)互動(dòng)CSS變量課程,該課程包含8個(gè)互動(dòng)截屏。

今天來(lái)講一下如何用CSS變量創(chuàng)建響應(yīng)布局

這是一段html

  • item 1
  • item 2
  • item 3
  • item 4
老方法:

在以前即使不使用CSS變量也可以把這些事情搞定。只是需要把要改變的屬性在重新重置一下,需要在媒體查詢中擁有自己的選擇器,但會(huì)招致額外的大量代碼,像下面這樣:

.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);
        }
    }
}

查看效果

新方法

下面讓我們來(lái)看如何使用CSS變量來(lái)解決這個(gè)問題。首先,要把我們將重復(fù)利用和更改的數(shù)值存儲(chǔ)在變量的內(nèi)部:

:root {
    --base-color: #ff6f69;
    --base-font-size: 20px;
    --direction: column;
    --width: 100%;
    --height: 200px;
}

然后,在整個(gè)頁(yè)面中簡(jiǎn)單地使用這些變量就行了:

.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);
  }
}

一旦進(jìn)行了這樣的設(shè)置之后,我們只要在媒體查詢中簡(jiǎn)單地更改變量值就行了:

@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;
  }
}

查看效果

這比我們以往的方法簡(jiǎn)便多了。只需盯住 :root,而不必為所有的選擇器指定值了。

這只是一個(gè)簡(jiǎn)單的例子。設(shè)想成熟的網(wǎng)站會(huì)是什么樣子吧,例如,用 –base-margin 來(lái)控制APP四周的多數(shù)自由空間。想翻轉(zhuǎn)其值也是很容易的事情,不必用復(fù)雜的選擇器來(lái)填充媒體查詢了。

總之,CSS變量絕對(duì)是提高響應(yīng)速度時(shí),所代表的未來(lái)。

作者: w3cbest前端開發(fā) 
互動(dòng): 如有疑問可進(jìn)群討論
本文原創(chuàng),著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系@w3cbest前端開發(fā)獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明原鏈接及出處。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/53578.html

相關(guān)文章

  • 學(xué)習(xí)何用CSS變量創(chuàng)建網(wǎng)頁(yè)響應(yīng)布局css var()

    摘要:只是需要把要改變的屬性在重新重置一下,需要在媒體查詢中擁有自己的選擇器,但會(huì)招致額外的大量代碼,像下面這樣查看效果新方法下面讓我們來(lái)看如何使用變量來(lái)解決這個(gè)問題。 在創(chuàng)新的2018年已經(jīng)過去,在2019年看看如何簡(jiǎn)單做成響應(yīng)性的網(wǎng)站 如果你未曾聽說過CSS變量,那么我告訴你,它就是CSS的一種新功能,可以讓你擁有在樣式表中使用變量的能力,這樣做時(shí)并不需要什么特別的設(shè)置呦。 從本質(zhì)上講,...

    Yuanf 評(píng)論0 收藏0
  • [譯]148個(gè)資源讓你成為CSS專家

    摘要:層疊樣式表二修訂版這是對(duì)作出的官方說明。速查表兩份表來(lái)自一份關(guān)于基礎(chǔ)特性,一份關(guān)于布局。核心第一篇一份來(lái)自的基礎(chǔ)參考指南簡(jiǎn)寫速查表簡(jiǎn)寫形式參考書使用層疊樣式表基礎(chǔ)指南,包含使用的好處介紹個(gè)方法快速寫成高質(zhì)量的寫出高效的一些提示。 迄今為止,我已經(jīng)收集了100多個(gè)精通CSS的資源,它們能讓你更好地掌握CSS技巧,使你的布局設(shè)計(jì)脫穎而出。 CSS3 資源 20個(gè)學(xué)習(xí)CSS3的有用資源 C...

    impig33 評(píng)論0 收藏0
  • 前端學(xué)習(xí)路線

    摘要:具體來(lái)說,包管理器就是可以通過命令行,幫助你把外部庫(kù)和插件放到你的項(xiàng)目里面并在之后進(jìn)行版本升級(jí),這樣就不用手工復(fù)制和更新庫(kù)。現(xiàn)在有的包管理器主要是和。 一、基礎(chǔ) 1、學(xué)習(xí)HTML基礎(chǔ) HTML給你的網(wǎng)頁(yè)賦予了結(jié)構(gòu)。它就像是人的骨架那樣讓你保持站立。首先你需要去學(xué)習(xí)語(yǔ)法以及它必須提供的一切。你的學(xué)習(xí)應(yīng)該聚焦在下面這些東西上: 學(xué)習(xí)HTML基礎(chǔ),了解如何編寫語(yǔ)義HTML 理解如何把網(wǎng)頁(yè)分...

    FullStackDeveloper 評(píng)論0 收藏0
  • 前端學(xué)習(xí)路線

    摘要:具體來(lái)說,包管理器就是可以通過命令行,幫助你把外部庫(kù)和插件放到你的項(xiàng)目里面并在之后進(jìn)行版本升級(jí),這樣就不用手工復(fù)制和更新庫(kù)?,F(xiàn)在有的包管理器主要是和。 一、基礎(chǔ) 1、學(xué)習(xí)HTML基礎(chǔ) HTML給你的網(wǎng)頁(yè)賦予了結(jié)構(gòu)。它就像是人的骨架那樣讓你保持站立。首先你需要去學(xué)習(xí)語(yǔ)法以及它必須提供的一切。你的學(xué)習(xí)應(yīng)該聚焦在下面這些東西上: 學(xué)習(xí)HTML基礎(chǔ),了解如何編寫語(yǔ)義HTML 理解如何把網(wǎng)頁(yè)分...

    20171112 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<