摘要:第一部分介紹了如何使用和開發(fā)接口。由于系統(tǒng)變得越來越復(fù)雜,人們提出了稱為預(yù)處理器和后處理器的工具來管理復(fù)雜性。當(dāng)您第一次得知有預(yù)處理器和后處理器時(shí),你很有可能在任何地方已經(jīng)使用它們。我之前建議的文章,,也涵蓋了預(yù)處理器相關(guān)的知識(shí)。
我記得我剛開始學(xué)習(xí)前端開發(fā)的時(shí)候。我看到了很多文章及資料,被學(xué)習(xí)的資料壓得喘不過氣來,甚至不知道從哪里開始。
本指南列出前端學(xué)習(xí)路線,并提供了平時(shí)收藏的一些有效的資源。
想閱讀更多優(yōu)質(zhì)文章請(qǐng)猛戳GitHub博客,一年百來篇優(yōu)質(zhì)文章等著你!
為了使這本指南易于理解,我把它分成了兩部分。第一部分介紹了如何使用 HTML 和 CSS開發(fā)接口。第2部分將介紹 Javascript、框架和設(shè)計(jì)模式。
HTML 和 CSS 基礎(chǔ)在前端開發(fā)中,一切都從 HTM 和 CSS 開始。HTML 和 CSS 控制你在 Web 頁面上看到的內(nèi)容。HTML 表示內(nèi)容,而 CSS 處理樣式和布局。
首先,閱讀 Mozilla Developer Network(MDN)的 HTML 和 CSS 教程。MDN 逐章解釋了 HTML和 CSS 重要概念。此外,每個(gè)章節(jié)只有一頁長(zhǎng),交互演示鏈接到 CodePen 和 JSFiddle。
在完成這些教程之后,看看 CodeAcademy 的 Make a Website 課程。本教程只需要幾個(gè)小時(shí)就可以完成,對(duì)于使用 HTML 和 CSS 構(gòu)建網(wǎng)站是一個(gè)很好的入門教程。如果wq 想了解更多, Building web forms 是 CodeAcademy 提供的另一篇教程,該教程將指導(dǎo)你構(gòu)建和樣式化 web 表單。
要練習(xí) CSS,可以試試 CSS Diner。這是一個(gè)有趣的 CSS 挑戰(zhàn)游戲。HTM L和CSS 的另一個(gè)重要方面是布局。LearnLayout 是一個(gè)交互式教程,向你展示如何使用 HTML 和 CSS 創(chuàng)建布局。
另外,了解如何使用 CSS Tricks 的 Google 字體 的 API 基礎(chǔ)知識(shí)。 排版是界面的基本構(gòu)建塊。 如果你有時(shí)間,我強(qiáng)烈建議你閱讀這本免費(fèi)的在線書籍,Donny Truong 的 Professional Web Typography 它教你作為前端開發(fā)人員需要了解的關(guān)于排版的一切。
通過這些資源,不要太擔(dān)心記憶的問題。相反,重點(diǎn)是理解 HTML 和 CSS 如何協(xié)同工作。
練習(xí) HTML 和 CSS 基礎(chǔ)現(xiàn)在你已經(jīng)對(duì) HTML 和 CSS 有了基本的了解,讓我們來找點(diǎn)樂趣。在本節(jié)中,有兩個(gè)實(shí)踐旨在為你提供構(gòu)建網(wǎng)站和界面的實(shí)踐。我用“實(shí)踐”這個(gè)詞是因?yàn)樵趯?shí)踐中,你從失敗中學(xué)到的東西和你從成功中學(xué)到的一樣多。
實(shí)踐 1在我們的第一個(gè)實(shí)踐中,我們將使用 CodePen。CodePen 是一個(gè)前端平臺(tái),你可以在這里編寫 HTML 和 CSS 代碼,而不必在本地存儲(chǔ)文件。它還提供了實(shí)時(shí)預(yù)覽,可以在保存代碼時(shí)立即更新。
通過使用 CodePen,你可以一石二鳥。一方面,你要練習(xí) HTML 和 CSS。另一方面,你創(chuàng)建一個(gè)基本的進(jìn)度組合。我們還將使用 Dribbble,這是一個(gè)充滿設(shè)計(jì)靈感的網(wǎng)站。
在 Dribbble 找到一個(gè)簡(jiǎn)單到可以在幾個(gè)小時(shí)內(nèi)編寫代碼的設(shè)計(jì)。我選擇了一些設(shè)計(jì)讓你開始:1、2、3、4 和 5。我選擇了手機(jī)為先的網(wǎng)頁設(shè)計(jì),因?yàn)樗鼈儽茸烂婢W(wǎng)頁設(shè)計(jì)要簡(jiǎn)單。不過,也可以自由選擇桌面設(shè)計(jì)。
在你決定了一個(gè)設(shè)計(jì)之后,繼續(xù)嘗試用 CodePen 編寫它。如果遇到困難,請(qǐng)記住StackOverflow 是你的朋友。另一個(gè)有用的實(shí)踐是訪問像 Medium、AirBnB和 Dropbox 這樣的網(wǎng)站,使用 inspector 工具查看它們是如何實(shí)現(xiàn)不同的布局和風(fēng)格的。另外,看看 pens on CodePen。我挑選了一些好的例子:
Twitter小部件
Article News Card
Simple Flat Menu
如果你出來的與原設(shè)計(jì)不同,請(qǐng)不要?dú)怵H。 繼續(xù)練習(xí)不同的設(shè)計(jì),你會(huì)發(fā)現(xiàn)每次都有進(jìn)步。
如果你沒有設(shè)計(jì)背景,很可能你的設(shè)計(jì)眼光不夠成熟。具有良好設(shè)計(jì)眼光的前端開發(fā)人員將能夠識(shí)別好的設(shè)計(jì)并完美地復(fù)制它們。幾周前,我寫了一篇關(guān)于如何培養(yǎng)你的設(shè)計(jì)眼光的文章。
實(shí)踐 2希望第一個(gè)實(shí)踐讓你對(duì)編寫 HTML 和 CSS 有一定的信心。 對(duì)于實(shí)踐 2,我們將看一些網(wǎng)站,然后編寫一些組件。
一些網(wǎng)站使用 CSS框架或 混淆它們的 CSS 類名,使你很難閱讀它們的源代碼。這就是為什么我選擇了幾個(gè)設(shè)計(jì)良好的網(wǎng)站,易于閱讀源代碼。
AirBnB: 嘗試復(fù)制他們的頁腳
PayPa:試著復(fù)制他們的導(dǎo)航欄l
Invision :嘗試復(fù)制頁面底部的注冊(cè)部分
Stripe: 嘗試復(fù)制他們的支付部分
同樣,實(shí)踐2的重點(diǎn)不是重新創(chuàng)建整個(gè)頁面。選擇幾個(gè)關(guān)鍵組件,如導(dǎo)航欄或英雄部分進(jìn)行編碼。我在網(wǎng)站列表旁邊提供了一個(gè)建議,但是請(qǐng)隨意選擇其他組件。
HTML 和 CSS 最佳實(shí)踐到目前為止,你已經(jīng)學(xué)習(xí)了 HTML 和 CSS 的基礎(chǔ)知識(shí)。下一步是學(xué)習(xí)最佳實(shí)踐。最佳實(shí)踐是一組提高代碼質(zhì)量的非正式規(guī)則。
語義標(biāo)記HTML 和 CSS 的最佳實(shí)踐之一是編寫語義標(biāo)記。好的 web 語義意味著使用適當(dāng)?shù)摹TML 標(biāo)簽和有意義的 CSS 類名來表示結(jié)構(gòu)的意義。
例如,h1 標(biāo)簽告訴我們它包裝的文本是一個(gè)重要的標(biāo)題。 另一個(gè)例子是footer標(biāo)簽 ,它告訴我們?cè)貙儆陧撁娴撞俊?有關(guān)進(jìn)一步,請(qǐng)閱讀 CSSTricks 的 正確的 HTML5 語義 和 什么是語義類名的構(gòu)成要素。
CSS 命名規(guī)范CS S的下一個(gè)重要的最佳實(shí)踐是正確的命名規(guī)范。良好的命名規(guī)范,如語義標(biāo)簽,傳達(dá)了意義,并有助于使我們的代碼可預(yù)測(cè)、可讀和可維護(hù)。你可以在這篇 OOCSS、ACSS、BEM、SMACSS:它們是什么?我應(yīng)該用什么? 中了解到不同的命名規(guī)范。
一般來說,我建議你嘗試一些簡(jiǎn)單的命名規(guī)范,這些規(guī)范對(duì)你來說是直觀的。隨著時(shí)間的推移,你會(huì)發(fā)現(xiàn)最適合你的方法。要了解像 Medium 這樣的公司是如何利用像 BEM 這樣的命名約定的,請(qǐng)閱讀 Medium’s CSS is actually pretty f*ing good.。在這篇文章中,你還會(huì)了解到,提出一組有效的 CSS 約定是一個(gè)迭代過程。
CSS重置從頁邊距到行高,每個(gè)瀏覽器都有一些小的樣式不一致。因此,需要重置 CSS。MeyerWeb 是一個(gè)受歡迎的重置。如果你想深入了解,可以閱讀 Create Your Simple Reset.css File。
跨瀏覽器支持跨瀏覽器支持意味著你的代碼支持最新的瀏覽器。像 transition 這樣的 CSS 屬性需要廠商前綴才能在不同的瀏覽器中正常工作。在本文中,我可以閱讀更多關(guān)于供應(yīng)商前綴的信息,即 CSS供應(yīng)商前綴。最重要的是,你應(yīng)該跨多個(gè)瀏覽器(包括 Chrome、Firefox 和 Safari )測(cè)試你的網(wǎng)站。
CSS 預(yù)處理器與 CSS 后處理器自20世紀(jì)90年代CSS引入以來,CSS走過了漫長(zhǎng)的道路。由于UI系統(tǒng)變得越來越復(fù)雜,人們提出了稱為預(yù)處理器和后處理器的工具來管理復(fù)雜性。
CS S預(yù)處理程序是 CSS 語言擴(kuò)展,它添加了一些額外的功能,比如變量、混合和繼承。兩個(gè)主要的CSS預(yù)處理程序是 Sass 和 Less。2016 年,Sass的使用范圍更加廣泛。Bootstrap是 一種流行的響應(yīng)式 CSS 框架,它也正在從 Less 轉(zhuǎn)換到 Sass。而且,當(dāng)大多數(shù)人談?wù)?Sass時(shí),他們實(shí)際上是在談?wù)?SCSS。
CSS 后處理器在由預(yù)處理器手寫或編譯后對(duì) CSS 應(yīng)用更改。 例如,PostCSS 等一些后處理器具有自動(dòng)添加瀏覽器供應(yīng)商前綴的插件。
當(dāng)您第一次得知有 CSS預(yù)處理器和后處理器時(shí),你很有可能在任何地方已經(jīng)使用它們。 但是,從簡(jiǎn)單開始,僅在必要時(shí)添加變量和 mixin 等擴(kuò)展。 我之前建議的文章,Medium’s CSS is actually pretty f*ing good,也涵蓋了預(yù)處理器相關(guān)的知識(shí)。
網(wǎng)格系統(tǒng)和響應(yīng)能力網(wǎng)格系統(tǒng)是CSS結(jié)構(gòu),它允許你水平和垂直地堆疊元素。
Bootstrap,Skeleton 和 Foundation 等網(wǎng)格框架提供了管理布局中行和列的樣式表。 雖然網(wǎng)格框架很有用,但了解網(wǎng)格的工作原理也很重要。 理解CSS網(wǎng)格系統(tǒng) 和 Don’t Overthink Grids 這兩篇文章是很好的概述。
網(wǎng)格系統(tǒng)的主要目的之一是為你的網(wǎng)站添加響應(yīng)性。響應(yīng)性意味著你的網(wǎng)站根據(jù)窗口寬度調(diào)整大小。很多時(shí)候,響應(yīng)是通過使用 CSS 媒體查詢實(shí)現(xiàn)的,CSS 規(guī)則只適用于特定的屏幕寬度。
關(guān)于媒體查詢知識(shí)及擴(kuò)展可以看看以下幾篇文章:
Intro to Media Queries
mobile-first
An Introduction to Mobile-First Media Queries
實(shí)踐 HTML 和 CSS 最佳實(shí)踐現(xiàn)在你已經(jīng)掌握了最佳實(shí)踐,讓我們進(jìn)行測(cè)試。下面兩個(gè)實(shí)踐的目標(biāo)是練習(xí)編寫干凈的代碼,并觀察最佳實(shí)踐對(duì)可讀性和可維護(hù)性的長(zhǎng)期影響。
實(shí)踐 3對(duì)于實(shí)踐 3,選擇你之前做過的項(xiàng)目,并使用你在這過程所學(xué)到的知識(shí)來重構(gòu)你的代碼。重構(gòu)意味著編寫代碼,使代碼更容易閱讀,更簡(jiǎn)單。
能夠有效地重構(gòu)代碼是前端開發(fā)人員的一項(xiàng)重要技能。 編寫高質(zhì)量代碼是一個(gè)迭代過程。 CSS體系結(jié)構(gòu):重構(gòu)你的 CSS 是重構(gòu)代碼的入門指南。
在重構(gòu)代碼時(shí),有幾件事需要問問自己。
* 你的取的類名是否有歧義? 6個(gè)月后,你還能理解你的類名是什么意思嗎?
* 你的 HTML 和 CSS 是語義化的嗎?當(dāng)你瀏覽你的代碼時(shí),你能快速辨別結(jié)構(gòu)和關(guān)系的含義嗎?
你是否在代碼中反復(fù)使用相同的十六進(jìn)制顏色代碼? 將它重構(gòu)為一個(gè) Sass變量 是否更有意義?
你的代碼在 Safari 和 Chrome 上運(yùn)行得一樣的嗎?
你是否可以用類似于 Skeleton 的網(wǎng)格系統(tǒng)替換一些布局代碼?
你經(jīng)常使用 !important 標(biāo)志嗎?你怎么解決這個(gè)問題?
實(shí)踐 4最后一個(gè)實(shí)驗(yàn)把你學(xué)到的關(guān)于最佳實(shí)踐的知識(shí)運(yùn)用起來。然而,最佳實(shí)踐的效果通常不會(huì)變得明顯,直到你將它們應(yīng)用到一個(gè)更大的項(xiàng)目中。
在最后一個(gè)實(shí)踐中,為自己建立一個(gè)作品集網(wǎng)站。作為前端開發(fā)者,你的作品集網(wǎng)站是你最重要的數(shù)字資產(chǎn)之一。作品集是一個(gè)展示你作品的網(wǎng)站。更重要的是,它是一個(gè)持續(xù)的記錄,幫助你跟蹤你的進(jìn)步和發(fā)展。所以即使你只有一兩件事要展示,也要展示出來。
首先,跟隨阿德漢姆·達(dá)納韋的文章 《設(shè)計(jì)和開發(fā)作品集網(wǎng)站站的簡(jiǎn)單工作流程》
如果你的第一個(gè)作品集網(wǎng)站迭代并不完美,那也沒關(guān)系。作品集網(wǎng)站需要經(jīng)歷許多迭代。還有,重要的是你要用自己的技能來建造它。
與時(shí)俱進(jìn)雖然 HTML 和 CSS 不會(huì)很快過時(shí),但是跟上前端環(huán)境的發(fā)展是很重要的。
下面是一個(gè)網(wǎng)站、博客和論壇的列表,這些網(wǎng)站、博客和論壇閱讀起來既有趣且信息豐富。
CSSTricks
Smashing Magazine
Designer News
Nettuts+
CSS Wizard
通過例子學(xué)習(xí)最后,最好的學(xué)習(xí)方法是以身作則。這里有一套樣式指南和編碼規(guī)范,將教你如何成為一個(gè)更有效的前端。
樣式指南Web 樣式指南是可以在整個(gè)網(wǎng)站中重用的 CSS 組件和模式的集合。從這些樣式指南中需要注意的關(guān)鍵問題是,基于組件的 HTML 和 CSS 方法如何允許重用代碼來保持代碼的清爽(DRY)。
Mapbox
LonelyPlanet
SalesForce
MailChimp
編碼規(guī)范編碼規(guī)范讓代碼易讀且可維護(hù)。其中一些鏈接(如 CSS Guidelines)是編寫更好的 HTML 和 CSS 的指南,而其他鏈接(如 Github internal CSS toolkit and Guidelines)是高質(zhì)量代碼的例子。
CSS Guidelines
Github internal CSS toolkit and guidelines
AirBnB’s CSS Styleguide
小結(jié)希望在本文結(jié)束時(shí),你已經(jīng)熟悉 HTML 和 CSS,并掌握了一些項(xiàng)目。 學(xué)習(xí)前端的最佳方式是建立項(xiàng)目和實(shí)踐。 請(qǐng)記住,每個(gè)前端開發(fā)人員都必須從某個(gè)地方開始。 從今天開始比明天開始更好。
本文是兩部分系列中的第一部分。 第二篇文章介紹了如何使用 Javascript 和 Javascript庫/框架添加交互性,共勉,同進(jìn)步。
你的點(diǎn)贊是我持續(xù)分享好東西的動(dòng)力,歡迎點(diǎn)贊!
交流干貨系列文章匯總?cè)缦?,覺得不錯(cuò)點(diǎn)個(gè)Star,歡迎 加群 互相學(xué)習(xí)。
https://github.com/qq44924588...
我是小智,公眾號(hào)「大遷世界」作者,對(duì)前端技術(shù)保持學(xué)習(xí)愛好者。我會(huì)經(jīng)常分享自己所學(xué)所看的干貨,在進(jìn)階的路上,共勉!
關(guān)注公眾號(hào),后臺(tái)回復(fù)福利,即可看到福利,你懂的。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/103314.html
摘要:是文檔的一種表示結(jié)構(gòu)。這些任務(wù)大部分都是基于它。這個(gè)實(shí)踐的重點(diǎn)是把你在前端練級(jí)攻略第部分中學(xué)到的一些東西和結(jié)合起來。一旦你進(jìn)入框架部分,你將更好地理解并使用它們。到目前為止,你一直在使用進(jìn)行操作。它是在前端系統(tǒng)像今天這樣復(fù)雜之前編寫的。 本文是 前端練級(jí)攻略 第二部分,第一部分請(qǐng)看下面: 前端練級(jí)攻略(第一部分) 在第二部分,我們將重點(diǎn)學(xué)習(xí) JavaScript 作為一種獨(dú)立的語言,如...
摘要:下面我們從前端基礎(chǔ)和底層原理開始講起。對(duì)于和這三個(gè)對(duì)應(yīng)于矢量圖位圖和圖的渲染來說,給前端開發(fā)帶來了重武器,很多小游戲也因此蓬勃發(fā)展。這篇文章受眾之大,后來被人重新整理并發(fā)布為,其中還包括中文版。 showImg(https://segmentfault.com/img/bVbjM5r?w=1142&h=640); 想閱讀更多優(yōu)質(zhì)文章請(qǐng)猛戳GitHub博客,一年百來篇優(yōu)質(zhì)文章等著你! 這...
摘要:前端還有一個(gè)很重要的事就是設(shè)計(jì)。,中文版譯名為認(rèn)知與設(shè)計(jì)理解設(shè)計(jì)準(zhǔn)則。實(shí)驗(yàn)室是布拉德弗羅斯特依照這個(gè)設(shè)計(jì)系統(tǒng)所建立的一套工具,可以前往的來試試。中文翻譯為流暢設(shè)計(jì)體系,是微軟于年開發(fā)的設(shè)計(jì)語言。微軟于年月日的開發(fā)者大會(huì)上公開了該設(shè)計(jì)體系。 showImg(https://segmentfault.com/img/bVbkgFI?w=1142&h=640); 想閱讀更多優(yōu)質(zhì)文章請(qǐng)猛戳Gi...
摘要:感謝內(nèi)容提供者金牛區(qū)吳迪軟件開發(fā)工作室文章目錄一高效學(xué)習(xí)端正學(xué)習(xí)態(tài)度面對(duì)枯燥和量大的知識(shí)深度,歸納和堅(jiān)持實(shí)踐學(xué)習(xí)和閱讀源碼源頭原理和知識(shí)地圖二程序員練級(jí)攻略入門開篇詞零基礎(chǔ)啟蒙正式入門三程序員練級(jí)攻略進(jìn)階程序員素養(yǎng)理論學(xué)科 ...
閱讀 2940·2023-04-26 02:22
閱讀 2295·2021-11-17 09:33
閱讀 3147·2021-09-22 16:06
閱讀 1087·2021-09-22 15:54
閱讀 3541·2019-08-29 13:44
閱讀 1923·2019-08-29 12:37
閱讀 1328·2019-08-26 14:04
閱讀 1924·2019-08-26 11:57