自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

前端練級攻略(第一部分)

開發(fā) 前端
為了使這本指南易于理解,我把它分成了兩部分。第一部分介紹了如何使用 HTML 和 CSS開發(fā)接口。第2部分將介紹 Javascript、框架和設(shè)計模式。

 我記得我剛開始學(xué)習(xí)前端開發(fā)的時候。我看到了很多文章及資料,被學(xué)習(xí)的資料壓得喘不過氣來,甚至不知道從哪里開始。

本指南列出前端學(xué)習(xí)路線,并提供了平時收藏的一些有效的資源。

為了使這本指南易于理解,我把它分成了兩部分。***部分介紹了如何使用 HTML 和 CSS開發(fā)接口。第2部分將介紹 Javascript、框架和設(shè)計模式。

HTML 和 CSS 基礎(chǔ)

在前端開發(fā)中,一切都從 HTM 和 CSS 開始。HTML 和 CSS 控制你在 Web 頁面上看到的內(nèi)容。HTML 表示內(nèi)容,而 CSS 處理樣式和布局。

首先,閱讀 Mozilla Developer Network(MDN)的 HTML 和 CSS 教程。MDN 逐章解釋了 HTML和 CSS 重要概念。此外,每個章節(jié)只有一頁長,交互演示鏈接到 CodePen 和 JSFiddle。

在完成這些教程之后,看看 CodeAcademy 的 Make a Website 課程。本教程只需要幾個小時就可以完成,對于使用 HTML 和 CSS 構(gòu)建網(wǎng)站是一個很好的入門教程。如果wq 想了解更多, Building web forms 是 CodeAcademy 提供的另一篇教程,該教程將指導(dǎo)你構(gòu)建和樣式化 web 表單。

要練習(xí) CSS,可以試試 CSS Diner。這是一個有趣的 CSS 挑戰(zhàn)游戲。HTM L和CSS 的另一個重要方面是布局。LearnLayout 是一個交互式教程,向你展示如何使用 HTML 和 CSS 創(chuàng)建布局。

另外,了解如何使用 CSS Tricks 的 Google 字體 的 API 基礎(chǔ)知識。 排版是界面的基本構(gòu)建塊。 如果你有時間,我強烈建議你閱讀這本免費的在線書籍,Donny Truong 的 Professional Web Typography 它教你作為前端開發(fā)人員需要了解的關(guān)于排版的一切。

通過這些資源,不要太擔(dān)心記憶的問題。相反,重點是理解 HTML 和 CSS 如何協(xié)同工作。

練習(xí) HTML 和 CSS 基礎(chǔ)

現(xiàn)在你已經(jīng)對 HTML 和 CSS 有了基本的了解,讓我們來找點樂趣。在本節(jié)中,有兩個實踐旨在為你提供構(gòu)建網(wǎng)站和界面的實踐。我用“實踐”這個詞是因為在實踐中,你從失敗中學(xué)到的東西和你從成功中學(xué)到的一樣多。

實踐 1

在我們的***個實踐中,我們將使用 CodePen。CodePen 是一個前端平臺,你可以在這里編寫 HTML 和 CSS 代碼,而不必在本地存儲文件。它還提供了實時預(yù)覽,可以在保存代碼時立即更新。

通過使用 CodePen,你可以一石二鳥。一方面,你要練習(xí) HTML 和 CSS。另一方面,你創(chuàng)建一個基本的進(jìn)度組合。我們還將使用 Dribbble,這是一個充滿設(shè)計靈感的網(wǎng)站。

在 Dribbble 找到一個簡單到可以在幾個小時內(nèi)編寫代碼的設(shè)計。我選擇了一些設(shè)計讓你開始:1、2、3、4 和 5。我選擇了手機為先的網(wǎng)頁設(shè)計,因為它們比桌面網(wǎng)頁設(shè)計要簡單。不過,也可以自由選擇桌面設(shè)計。

[[261962]]

在你決定了一個設(shè)計之后,繼續(xù)嘗試用 CodePen 編寫它。如果遇到困難,請記住StackOverflow 是你的朋友。另一個有用的實踐是訪問像 Medium、AirBnB和 Dropbox 這樣的網(wǎng)站,使用 inspector 工具查看它們是如何實現(xiàn)不同的布局和風(fēng)格的。另外,看看 pens on CodePen,  我挑選了一些好的例子:

  • Twitter小部件
  • Article News Card 
  • Simple Flat Menu

如果你出來的與原設(shè)計不同,請不要氣餒。 繼續(xù)練習(xí)不同的設(shè)計,你會發(fā)現(xiàn)每次都有進(jìn)步。

如果你沒有設(shè)計背景,很可能你的設(shè)計眼光不夠成熟。具有良好設(shè)計眼光的前端開發(fā)人員將能夠識別好的設(shè)計并***地復(fù)制它們。幾周前,我寫了一篇關(guān)于如何培養(yǎng)你的設(shè)計眼光的文章。

實踐 2

希望***個實踐讓你對編寫 HTML 和 CSS 有一定的信心。 對于實踐 2,我們將看一些網(wǎng)站,然后編寫一些組件。

一些網(wǎng)站使用 CSS框架或 混淆它們的 CSS 類名,使你很難閱讀它們的源代碼。這就是為什么我選擇了幾個設(shè)計良好的網(wǎng)站,易于閱讀源代碼。

  •  AirBnB: 嘗試復(fù)制他們的頁腳
  •  PayPa:試著復(fù)制他們的導(dǎo)航欄l
  •  Invision :嘗試復(fù)制頁面底部的注冊部分
  •  Stripe: 嘗試復(fù)制他們的支付部分

同樣,實踐2的重點不是重新創(chuàng)建整個頁面。選擇幾個關(guān)鍵組件,如導(dǎo)航欄或英雄部分進(jìn)行編碼。我在網(wǎng)站列表旁邊提供了一個建議,但是請隨意選擇其他組件。

HTML 和 CSS ***實踐

到目前為止,你已經(jīng)學(xué)習(xí)了 HTML 和 CSS 的基礎(chǔ)知識。下一步是學(xué)習(xí)***實踐。***實踐是一組提高代碼質(zhì)量的非正式規(guī)則。

語義標(biāo)記

HTML 和 CSS 的***實踐之一是編寫語義標(biāo)記。好的 web 語義意味著使用適當(dāng)?shù)摹TML 標(biāo)簽和有意義的 CSS 類名來表示結(jié)構(gòu)的意義。

例如,h1 標(biāo)簽告訴我們它包裝的文本是一個重要的標(biāo)題。 另一個例子是footer標(biāo)簽 ,它告訴我們元素屬于頁面底部。 有關(guān)進(jìn)一步,請閱讀 CSSTricks 的 正確的 HTML5 語義 和 什么是語義類名的構(gòu)成要素。

CSS 命名規(guī)范

CS S的下一個重要的***實踐是正確的命名規(guī)范。良好的命名規(guī)范,如語義標(biāo)簽,傳達(dá)了意義,并有助于使我們的代碼可預(yù)測、可讀和可維護(hù)。你可以在這篇 OOCSS、ACSS、BEM、SMACSS:它們是什么?我應(yīng)該用什么? 中了解到不同的命名規(guī)范。

一般來說,我建議你嘗試一些簡單的命名規(guī)范,這些規(guī)范對你來說是直觀的。隨著時間的推移,你會發(fā)現(xiàn)最適合你的方法。要了解像 Medium 這樣的公司是如何利用像 BEM 這樣的命名約定的,請閱讀 Medium’s CSS is actually pretty f*ing good.。在這篇文章中,你還會了解到,提出一組有效的 CSS 約定是一個迭代過程。

CSS重置

從頁邊距到行高,每個瀏覽器都有一些小的樣式不一致。因此,需要重置 CSS。MeyerWeb 是一個受歡迎的重置。如果你想深入了解,可以閱讀 Create Your Simple Reset.css File。

跨瀏覽器支持

跨瀏覽器支持意味著你的代碼支持***的瀏覽器。像 transition 這樣的 CSS 屬性需要廠商前綴才能在不同的瀏覽器中正常工作。在本文中,我可以閱讀更多關(guān)于供應(yīng)商前綴的信息,即 CSS供應(yīng)商前綴。最重要的是,你應(yīng)該跨多個瀏覽器(包括 Chrome、Firefox 和 Safari )測試你的網(wǎng)站。

CSS 預(yù)處理器與 CSS 后處理器

自20世紀(jì)90年代CSS引入以來,CSS走過了漫長的道路。由于UI系統(tǒng)變得越來越復(fù)雜,人們提出了稱為預(yù)處理器和后處理器的工具來管理復(fù)雜性。

CS S預(yù)處理程序是 CSS 語言擴展,它添加了一些額外的功能,比如變量、混合和繼承。兩個主要的CSS預(yù)處理程序是 Sass 和 Less。2016 年,Sass的使用范圍更加廣泛。Bootstrap是 一種流行的響應(yīng)式 CSS 框架,它也正在從 Less 轉(zhuǎn)換到 Sass。而且,當(dāng)大多數(shù)人談?wù)?Sass時,他們實際上是在談?wù)?SCSS。

CSS 后處理器在由預(yù)處理器手寫或編譯后對 CSS 應(yīng)用更改。 例如,PostCSS 等一些后處理器具有自動添加瀏覽器供應(yīng)商前綴的插件。

當(dāng)您***次得知有 CSS預(yù)處理器和后處理器時,你很有可能在任何地方已經(jīng)使用它們。 但是,從簡單開始,僅在必要時添加變量和 mixin 等擴展。 我之前建議的文章,Medium’s CSS is actually pretty f*ing good,也涵蓋了預(yù)處理器相關(guān)的知識。

網(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)整大小。很多時候,響應(yīng)是通過使用 CSS 媒體查詢實現(xiàn)的,CSS 規(guī)則只適用于特定的屏幕寬度。

[[261966]]

關(guān)于媒體查詢知識及擴展可以看看以下幾篇文章:

  •  Intro to Media Queries
  •  mobile-first
  •  An Introduction to Mobile-First Media Queries

實踐 HTML 和 CSS ***實踐

現(xiàn)在你已經(jīng)掌握了***實踐,讓我們進(jìn)行測試。下面兩個實踐的目標(biāo)是練習(xí)編寫干凈的代碼,并觀察***實踐對可讀性和可維護(hù)性的長期影響。

實踐 3

對于實踐 3,選擇你之前做過的項目,并使用你在這過程所學(xué)到的知識來重構(gòu)你的代碼。重構(gòu)意味著編寫代碼,使代碼更容易閱讀,更簡單。

能夠有效地重構(gòu)代碼是前端開發(fā)人員的一項重要技能。 編寫高質(zhì)量代碼是一個迭代過程。 CSS體系結(jié)構(gòu):重構(gòu)你的 CSS 是重構(gòu)代碼的入門指南。

[[261967]]

在重構(gòu)代碼時,有幾件事需要問問自己。

* 你的取的類名是否有歧義? 6個月后,你還能理解你的類名是什么意思嗎?

* 你的 HTML 和 CSS 是語義化的嗎?當(dāng)你瀏覽你的代碼時,你能快速辨別結(jié)構(gòu)和關(guān)系的含義嗎?

  •  你是否在代碼中反復(fù)使用相同的十六進(jìn)制顏色代碼? 將它重構(gòu)為一個 Sass變量 是否更有意義?
  •  你的代碼在 Safari 和 Chrome 上運行得一樣的嗎?
  •  你是否可以用類似于 Skeleton 的網(wǎng)格系統(tǒng)替換一些布局代碼?
  •  你經(jīng)常使用 !important 標(biāo)志嗎?你怎么解決這個問題?

實踐 4

***一個實驗把你學(xué)到的關(guān)于***實踐的知識運用起來。然而,***實踐的效果通常不會變得明顯,直到你將它們應(yīng)用到一個更大的項目中。

在***一個實踐中,為自己建立一個作品集網(wǎng)站。作為前端開發(fā)者,你的作品集網(wǎng)站是你最重要的數(shù)字資產(chǎn)之一。作品集是一個展示你作品的網(wǎng)站。更重要的是,它是一個持續(xù)的記錄,幫助你跟蹤你的進(jìn)步和發(fā)展。所以即使你只有一兩件事要展示,也要展示出來。

[[261968]]

首先,跟隨阿德漢姆·達(dá)納韋的文章 《設(shè)計和開發(fā)作品集網(wǎng)站站的簡單工作流程》

如果你的***個作品集網(wǎng)站迭代并不***,那也沒關(guān)系。作品集網(wǎng)站需要經(jīng)歷許多迭代。還有,重要的是你要用自己的技能來建造它。

與時俱進(jìn)

雖然 HTML 和 CSS 不會很快過時,但是跟上前端環(huán)境的發(fā)展是很重要的。

[[261969]]

下面是一個網(wǎng)站、博客和論壇的列表,這些網(wǎng)站、博客和論壇閱讀起來既有趣且信息豐富。

  •  CSSTricks
  •  Smashing Magazine
  •  Designer News
  •  Nettuts+
  •  CSS Wizard

通過例子學(xué)習(xí)

***,***的學(xué)習(xí)方法是以身作則。這里有一套樣式指南和編碼規(guī)范,將教你如何成為一個更有效的前端。

樣式指南

Web 樣式指南是可以在整個網(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é)束時,你已經(jīng)熟悉 HTML 和 CSS,并掌握了一些項目。 學(xué)習(xí)前端的***方式是建立項目和實踐。 請記住,每個前端開發(fā)人員都必須從某個地方開始。 從今天開始比明天開始更好。

本文是兩部分系列中的***部分。 第二篇文章介紹了如何使用 Javascript 和 Javascript庫/框架添加交互性,共勉,同進(jìn)步。

 

責(zé)任編輯:龐桂玉 來源: segmentfault
相關(guān)推薦

2009-06-09 14:40:01

Javascript表單驗證

2009-06-11 15:25:39

Java隨機數(shù)

2009-06-12 10:34:40

Java Date

2025-04-24 00:10:00

RAGAI人工智能

2025-01-22 08:01:53

2013-07-08 15:45:04

Python

2009-06-12 10:08:05

StaticJava

2013-04-08 15:42:38

Backbone.js入門

2018-11-15 14:52:15

Spark數(shù)據(jù)機器學(xué)習(xí)

2013-09-24 10:07:19

Ruby項目

2011-08-03 10:12:38

2009-06-15 13:32:18

Java applet插件

2019-04-11 10:50:26

前端JavaScript開發(fā)

2020-10-10 14:36:10

Python

2013-11-14 16:18:05

AndroidAudioAudioTrack

2018-12-19 09:03:04

物聯(lián)網(wǎng)供應(yīng)鏈物聯(lián)網(wǎng)應(yīng)用

2020-10-12 00:41:52

Python變量

2009-07-14 13:49:28

Swing組件AWT

2010-03-11 11:29:51

喬布斯

2024-05-15 08:12:11

SignalJavaScriptPromises
點贊
收藏

51CTO技術(shù)棧公眾號