摘要:原文地址作者摘要這是一篇年制作響應性網頁的快速教程。首先,我們要聲明需要更改或復用的變量然后,我們只需要在中使用它們就可以了。總之,變量可以定義為未來的響應式。
原文地址:https://medium.freecodecamp.org/how-to-make-responsiveness-super-simple-with-css-variables-8c90ebf80d7f
作者:Per Harald Borgen
摘要:這是一篇2018年制作響應性網頁的快速教程。
如果你之前沒有聽說過CSS變量,那么現在我將告訴你:它是CSS的新特性,讓你能夠在樣式表中使用變量的能力,并且無需任何配置。
實際上,CSS變量能夠讓你改變以往設置樣式的老方法:
h1{ font-size:30px; } navbar > a { font-size:30px; }
而使用了CSS變量之后:
:root { --base-font-size: 30px; } h1 { font-size: var(--base-font-size); } navbar > a { font-size: var(--base-font-size); }
這樣的詞法有點奇怪,但它確實能夠讓你通過僅改變--base-font-size的值來改變app中所有原生的字體大小。
如果你想要學習CSS變量的知識,可以登錄Scrimba看我的視頻課程,或是閱讀我在Medium上寫的文章:如何學習CSS變量。
好了,現在讓我們看看如何使用這個新知識來更加簡單地制作響應式站點吧。
初始配置讓我們來把下面這個頁面變成響應式的吧:
這個頁面在PC端看上去很不錯,不過你可以看到它在移動端的表現并不好。就像下面這樣:
在下面這張圖中,我們在樣式上做了一些改進,讓它看起來更好一點:
重新排列整個網格布局,使用垂直排列取代固定兩列布局。
將框架整體上移了一點。
對字體進行了縮放。
目光轉到CSS代碼中,下面是我們要修改的代碼:
h1 { font-size: 30px; } #navbar { margin: 30px 0; } #navbar a { font-size: 30px; } .grid { margin: 30px 0; grid-template-columns: 200px 200px; }
更具體地說,我們需要在一個媒體查詢中做出以下調整:
將h1的字體調整為20px;
減少#navbar的上外邊距為15px;
將#navbar的字體大小減少到20px;
減少.grid的外邊距為15px;
將.grid從兩列布局變為單列布局。
注意:樣式表里不僅僅是這些CSS聲明,但是在這篇教程中我跳過它們,因為媒體查詢并不影響它們的設置。你可以在這里獲取完整的代碼。舊方法
不使用CSS變量確實可以做到同樣的效果,但這樣會增加許多不必要的代碼,因為上面大部分修改都需要將聲明在媒體查詢中重寫一遍。就像下面這樣:
@media all and (max-width: 450px) { navbar { margin: 15px 0; } navbar a { font-size: 20px; } h1 { font-size: 20px; } .grid { margin: 15px 0; grid-template-columns: 200px; } }新的方法
現在讓我們看看使用CSS變量是如何起作用的。首先,我們要聲明需要更改或復用的變量:
:root { --base-font-size: 30px; --columns: 200px 200px; --base-margin: 30px; }
然后,我們只需要在app中使用它們就可以了。非常簡單:
#navbar { margin: var(--base-margin) 0; } #navbar a { font-size: var(--base-font-size); } h1 { font-size: var(--base-font-size); } .grid { margin: var(--base-margin) 0; grid-template-columns: var(--columns); }
之后,我們可以在媒體查詢中修改這些變量值:
@media all and (max-width: 450px) { :root { --columns: 200px; --base-margin: 15px; --base-font-size: 20px; }
這樣的代碼是不是比之前要簡潔多了?我們只需要專注于:root選擇器就可以了。
我們將媒體查詢中的4個聲明減少到了1個,代碼也從13行減少到了4行。
當然,這只是一個簡單的例子。想象一下,在一個大中型網站中,有一個--base-margin變量控制著所有的外邊距。當你想要在媒體查詢時修改屬性,并不需要用復雜的聲明填充整個媒體查詢,只是簡簡單單地修改這個變量值就可以了。
總之,CSS變量可以定義為未來的響應式。如果你想要學習更多的知識,我推薦你看我的免費教程。用不了多久你就能成為一個CSS變量大師。
查看更多我翻譯的Medium文章請訪問:
項目地址:https://github.com/WhiteYin/translation
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/115772.html
摘要:也是一款優秀的響應式框架站點所使用的一套框架為微信服務量身設計的一套框架一組很小的,響應式的組件,你可以在網頁的項目上到處使用一個可定制的文件,使瀏覽器呈現的所有元素,更一致和符合現代標準。 GitHub 值得收藏的前端項目 整理與收集的一些比較優秀github項目,方便自己閱讀,順便分享出來,大家一起學習,本篇文章會持續更新,版權歸原作者所有。歡迎github star與fork 預...
摘要:具體來說,包管理器就是可以通過命令行,幫助你把外部庫和插件放到你的項目里面并在之后進行版本升級,這樣就不用手工復制和更新庫。現在有的包管理器主要是和。 一、基礎 1、學習HTML基礎 HTML給你的網頁賦予了結構。它就像是人的骨架那樣讓你保持站立。首先你需要去學習語法以及它必須提供的一切。你的學習應該聚焦在下面這些東西上: 學習HTML基礎,了解如何編寫語義HTML 理解如何把網頁分...
閱讀 2710·2023-04-25 14:59
閱讀 904·2021-11-22 11:59
閱讀 645·2021-11-17 09:33
閱讀 2475·2021-09-27 13:34
閱讀 3909·2021-09-09 11:55
閱讀 2328·2019-08-30 15:44
閱讀 1133·2019-08-30 14:06
閱讀 1933·2019-08-29 16:55