Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
到前端技術(shù),不少朋友一定會感到有些陌生。但其實,前端,你每天都在接觸。
你正在使用的APP,你正在瀏覽的網(wǎng)頁,這些你能看到的界面,都屬于前端。
而前端最重要的三大技術(shù),HTML,CSS,JavaScript,則是每一個前端開發(fā)者必須具備的技能。
掌握這些技能,你可以快速地做出一個酷炫的APP界面或者一個簡單大方的網(wǎng)站頁面。因此,就讓我們一起來快速學習一下這三門技術(shù)吧。
以下內(nèi)容節(jié)選自實驗樓訓練營課程《Vue.js 和 Node.js 構(gòu)建內(nèi)容發(fā)布系統(tǒng)》。
本實驗主要介紹一下前端的基礎(chǔ)知識,對比認識一下各個框架的代碼編寫方式,并介紹我們本次技術(shù)選型的主要思路。對于前端三大技術(shù) HTML、CSS、JavaScript,簡單的介紹了基本情況和常用語法。中間介紹了現(xiàn)代框架的一些情況,并通過實際的案例,用代碼直觀的認識一下各種框架的實現(xiàn)方式。最后分析一下項目的技術(shù)選型。
本節(jié)我們簡單介紹一下前端最基礎(chǔ) HTML, CSS, JavaScript 三駕馬車。雖然本課程預設的讀者為零基礎(chǔ)開發(fā)者,但是前端開發(fā)一定會這三種技術(shù)的運用有要求。建議抽空學習 《 Web 前端工程師路徑》 中的階段 1 甚至階段 2。這里僅做語法介紹和基本使用的概覽。
在此之前先認識一下實驗環(huán)境。實驗環(huán)境和 VS Code 使用體驗基本一致。你可以啟動一個終端,并在其中輸入 Linux 命令。
后面的命令無特殊說明的都是在此終端命令行中輸入。大多數(shù)命令可以多開終端窗口分別執(zhí)行。
那么下面我們就快速的了解一下。
HTML 全稱超文本標記語言,幾乎是從萬維網(wǎng)和瀏覽器產(chǎn)生伊始就存在的。主要用于結(jié)構(gòu)化信息來方便瀏覽器展示。
以標簽對作為主要特征,如<p>這是一個段落</p>。這些標簽會被瀏覽器解析成不同的模塊,比如 p 標簽就是一個段落,img 標簽就是一個圖片,a 標簽就是一個超鏈接,標簽名不區(qū)分大小寫。
立刻就來嘗試一下吧。首先通過命令行新建一個 demo 目錄:
mkdir demo
然后命令行進入 demo 目錄:
cd ./demo
新建一個 hello.html 文件,可以在實驗環(huán)境左邊的瀏覽框內(nèi)在 demo 上右鍵選擇 New File 然后命名為 hello.html;或者也可在命令行終端輸入 touch hello.html,同樣是新建文件。
在其中輸入以下內(nèi)容:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>標題</title>
</head>
<body>
正文
</body>
</html>
然后右擊文件選擇 Open With → Preview。
看到了嗎?其實我們就是新建了一個 .html 后綴的文本文件,然后瀏覽器就可以將其中的內(nèi)容展示出來。你也可以在自己的桌面上新建一個,然后使用瀏覽器打開看看效果。
這里嵌套代碼的縮進格式是為了美觀和可讀性,并無嚴格要求。
head 標簽中是一些暫時無需用到的頭部信息,渲染的主體是 body 標簽。下面我們修改 body 標簽里面的內(nèi)容,填入一些常用標簽來直觀感受一下。
<body>
<h1>頁面標題</h1>
<div>一個塊容器</div>
<div>又一個塊容器</div>
<p>這里是段落了,間距變大</p>
<div>一個塊容器</div>
<div>
<div>
多層嵌套:
<div>內(nèi)部第一個</div>
<div>內(nèi)部第二個</div>
</div>
</div>
</body>
保存之后切換到瀏覽標簽看一看,有沒有感覺被忽悠了?嵌套沒嵌套根本沒體現(xiàn)出來,就像 Word 里排了一下版,按了幾個回車。
因為我們沒有對顯示樣式進行修改,那是 CSS 的事。HTML 主要管內(nèi)容的組織結(jié)構(gòu)。
這里有一點針對學習的小建議,本課程中給到的全部代碼請手動輸入,忘記復制和粘貼快捷鍵。
而且最好不要機械的一個字符一個字符照著抄,盡量看過一行或一小段代碼之后,靠短暫的印象去輸出,別怕出錯,只有過腦子并輸出實踐,才是最快掌握一項技能的捷徑。
以上兩句話是本課程中最有價值內(nèi)容之一。
下面我們接著修改剛才的代碼,再給 body 中添加幾個常用標簽。每次修改和保存之后記得到預覽頁看看樣式的變化。
<h4>4 級標題</h4>
<ul>
<li>
HTML
</li>
<li>
CSS
</li>
<li>
JavaScript
</li>
</ul>
<div>
<a href="https://www.shiyanlou.com" target="_blank"
>點擊超鏈接跳轉(zhuǎn)至實驗樓首頁</a
>
</div>
<div>
<img
src="https://static.shiyanlou.com/frontend/dist/img/9f43b00.svg"
alt=""
width="200"
/>
</div>
最后的鏈接標簽 a 和圖片標簽 img 出現(xiàn)了標簽屬性,屬性為 attr="value" 格式,可以給標簽增加更豐富的信息。
同時 img 標簽還是一個單標簽,不需要在后面添加 </img> 配合使用。
至此對 HTML 的簡要介紹告一段落。
互聯(lián)網(wǎng)上看到的各種五彩繽紛網(wǎng)頁都是由這些 HTML 組成的,但是為什么我們寫的這么難看?下一節(jié)我們就要學習一下如何用 CSS 美化頁面。
CSS 全稱層疊樣式表,是專門用來修飾 HTML 樣式的一種語言。我們修改一下上節(jié)的 hello.html 文件來直觀感受一下。
內(nèi)部代碼塊引入
在 head 標簽內(nèi)部增加以下 style 代碼塊:
<head>
<meta charset="UTF-8" />
<title>標題</title>
<style type="text/css">
div {
border: 1px solid blue;
padding: 2px;
margin: 10px;
}
</style>
</head>
這是再切換到預覽頁,發(fā)現(xiàn)沒那么平鋪直敘了。
這就是 CSS 的第一種引入方式,HTML 內(nèi)置代碼塊。
大括號外面的 div 是標簽選擇器,這里選中了本頁面中的所有 div 元素。大括號里面是屬性名與賦值,屬性名都是固定的關(guān)鍵字,并已規(guī)定好了值的類型和可選范圍。
讀代碼也就大概知道了,我們將 div 的邊框設置為 1 像素寬、固體(單線型)、藍色,填充(內(nèi)邊距)2 像素,邊緣空白(外邊距)10 像素。現(xiàn)在可以練習調(diào)整一下各個數(shù)字,預覽看看發(fā)生了什么?
再說點題外話,懂一些英文對程序員來說非常必要,除了可以憑感覺就讀懂沒學過的代碼,還可以在面向 Google 編程、面向 Stack Overflow 編程、面向 Github Issues 編程時游刃有余。
外部文件引入
然后我們再試一下外部文件引入,在 hello.html 的同級目錄新建 hello.css,輸入以下內(nèi)容保存:
div {
color: green;
border: 2px dotted red;
}
然后修改 hello.html,在 style 標簽后面增加一行 link 標簽,添加引入類型和地址:
<style type="text/css">
div {
border: 1px solid blue;
padding: 2px;
margin: 10px;
}
</style>
<link rel="stylesheet" href="hello.css" />
預覽看看,文字顏色變?yōu)榫G色,邊框的樣式也被更新為 2 像素寬、點線型紅色。
同樣是 div 選擇器,為什么邊框的樣式被覆蓋了呢?注意 CSS 在同樣條件下會后面代碼覆蓋前面,可以嘗試交換 link 標簽和 style 標簽塊的順序看看。
行間樣式
最后一種叫行間樣式,這個結(jié)構(gòu)更簡單。修改 hello.html 中的 <div>內(nèi)部第一個</div> 為
<div style="margin: 60px 0 10px 30px ;color:purple;">內(nèi)部第一個</div>
樣式覆蓋前兩種方式了,因為行間樣式的優(yōu)先級較高。這里涉及到選擇器權(quán)重,先給一個簡單公式了解一下。
!important > 行間樣式 > ID > class | 偽類 | 屬性選擇 > 標簽 > 繼承 | 通配符。
多個選擇器作用時權(quán)重相加。這里算 CSS 里有點復雜的部分,暫時不展開。
這里還有個小知識點是內(nèi)外邊距 margin 和 padding 接受的完整的值是四個,順序固定為“上 右 下 左”。如果省略參數(shù)則從末尾計算對向合并。比如:
CSS 先講這么多,雖然沒有把我們的頁面變多好看,但最起碼知道努力的方向了。
制作 JavaScript 的快速入門簡直非常傷腦筋。比起前兩種技術(shù) HTML 和 CSS,這是貨真價實的編程語言了。
也是我們后面要用到的 Vue.js 和 Node.js 中的根基,一下子又很難講很多,所以還是希望同學們能重視起來系統(tǒng)學習一下,最起碼讀到后面的代碼時不至于陷入“這是啥這又是啥”的窘境。
來段代碼直觀認知一下,還是先內(nèi)部代碼塊引入。
在 hello.html 的 head 標簽內(nèi)增加一個代碼塊:
<link rel="stylesheet" href="./hello.css">
<script>
let message="字符串提示";
function showMSG(msg) {
alert(msg);
}
</script>
修改 hello.html 的 h1 標簽為:
<h1 onclick="showMSG(message)">頁面標題</h1>
保存預覽,點擊“頁面標題”,會彈出提示框。
JavaScript 代碼加載之后就會執(zhí)行,不存在編譯階段。行末的分號絕大多數(shù)時候可以省略。
我們先定義了一個變量 message,并賦值為“字符串提示”。定義變量關(guān)鍵字原是 var,ES6 新增關(guān)鍵字 let 有更清晰的作用域,可替代使用。
學習 JavaScript 經(jīng)常會碰到 ES6、ES7 之類的名詞,實際上是 ECMAScript 標準的版本號的意思。可以簡單理解為新版標準為 JavaScript 添加特定新特性。
然后我們定義了一個函數(shù) showMSG,并添加一個形參 msg。在函數(shù)體內(nèi)部調(diào)用瀏覽器彈框方法,顯示 msg 的值。function 是定義函數(shù)的關(guān)鍵字,暫時先把它當做一個功能封閉的盒子,當函數(shù)調(diào)用時,執(zhí)行函數(shù)體內(nèi)的代碼。
調(diào)用部分是先給 h1 標簽添加了 onclick 點擊事件,被點擊時觸發(fā) showMSG(message),也就是把 message 傳給了 msg。
之后再試一下調(diào)用外部 js 文件,新建 demo.js 文件,寫入下面內(nèi)容并保存。
message="修改一下字符串";
然后修改 hello.html 文件,在 script 代碼塊后面增加一行:
<script src="./demo.js"></script>
這次保存預覽,點擊“頁面標題”,可以看到彈窗的文字變了。這個演示了 script 代碼塊在頁面可以同時存在多個,也是順序調(diào)用,而且互相之間可以直接訪問。文件命名也沒有要求,希望不會逼死強迫癥。
JavaScript 就是為什么網(wǎng)頁可以做那么多交互的源頭了。掌握起來任重道遠。
以上內(nèi)容節(jié)選自實驗樓訓練營課程《Vue.js 和 Node.js 構(gòu)建內(nèi)容發(fā)布系統(tǒng)》。
這三門前端技術(shù)先了解到這里,想要更深入學習如何使用前端技術(shù)構(gòu)建內(nèi)容發(fā)布系統(tǒng),比如做個高逼格的博客,搭建一個交流社區(qū),或者為企業(yè)制作官網(wǎng)等,可以訪問實驗樓官網(wǎng),搜索《Vue.js 和 Node.js 構(gòu)建內(nèi)容發(fā)布系統(tǒng)》這門課。
課程會提供完整的虛擬機環(huán)境,手把手教大家如何從頭構(gòu)建實現(xiàn)一個前后端分離的內(nèi)容發(fā)布系統(tǒng),包括了前端頁面、后端服務、數(shù)據(jù)庫等。
碗不過岡!三份資料,都是精選!請笑納!
1. 字節(jié)跳動大佬的Python自學筆記
這是我的一個朋友自學資料包,通過這個資料包自學拿到了字節(jié)跳動的Offer,
下面是他之前入門學習Python時候的學習資料,非常全面,從Python基礎(chǔ)、到web開發(fā)、數(shù)據(jù)分析、機器學習、深度學習、金融量化統(tǒng)統(tǒng)都有,該手冊是HTML版本,左側(cè)是目錄,可以點擊,右側(cè)是對目錄知識點的講解,適合Python學習者,對某些知識點不熟悉的話,將頁面保存到瀏覽器書簽,可以快速在沒網(wǎng)的情況下查找知識點,總計有200多頁!
Python知識手冊
Linux知識手冊
網(wǎng)絡編程、正則、mysql知識手冊
爬蟲查詢手冊
數(shù)據(jù)分析知識手冊:
機器學習知識手冊:
深度學習知識手冊:
2. Python繁瑣工作自動化
背景介紹
如今,人們面臨的大多數(shù)任務都可以通過編寫計算機軟件來完成。通過Python編程,我們能夠解決現(xiàn)實生活中的很多任務。
本書是一本面向?qū)嵺`的Python編程實用指南。本書的目的,不僅是介紹Python語言的基礎(chǔ)知識,而且還通過項目實踐教會讀者如何應用這些知識和技能。
主要內(nèi)容
本書的首部分介紹了基本Python編程概念,第二部分介紹了一些不同的任務,通過編寫Python程序,可以讓計算機自動完成它們。第二部分的每一章都有一些項目程序,供讀者學習。
書籍短評
我可能要愛上這個作者了。作為入門書籍非常棒,從實用的例子來練習熟悉,章節(jié)順序安排合理,跟著練下來可以信心十足的明確自己會做哪些,還能做哪些。包括最開始介紹的如何排查錯誤,其思路也可以運用到很多事物上。--有事起奏
這本書也非常好,而且udemy上還有本書作者制作的配套教程,質(zhì)量很高。--行簡
電子書下載
引用外部文件(如超鏈接或者插入圖片)時,經(jīng)常會遇到我們的頁面文件跟要引用的目標文件不在同一目錄下的情況,這個時候,就帶來了文件引用路徑的問題。通常情況下,我們將引用的路徑分為兩種情況,絕對路徑和相對路徑。
絕對路徑是指文件在硬盤上真正存在的路徑,即物理路徑。例如“bg.jpg”這個圖片是存放在硬盤的“D:\work\code\imgs”目錄下,那么, “bg.jpg”這個圖片的絕對路徑就是:
<img src="D:\work\code\imgs\bg.jpg" >
通常我們使用絕對路徑,更多應用是在定位網(wǎng)絡資源上,
如:https://image.so.com/i?ie=utf-8&src=hao_360so&q=%E6%95%85%E5%AE%AB%E7%BB%9D%E7%BE%8E%E9%9B%AA%E6%99%AF
在實際開發(fā)中,我們很少會使用絕對路徑,如果使用“D:\work\code\imgs\bg.jpg”來指定背景圖片的位置,在自己的計算機上 瀏覽可能會一切正常,但是上傳到Web服務器上瀏覽就很有可能不會顯示圖片了。因為上傳到Web服務器上時,可能整個網(wǎng)站并沒有放在Web服務器的D盤, 有可能是E盤或H盤。即使放在Web服務器的D盤里,Web服務器的E盤里也不一定會存在“D:\work\code\imgs\bg.jpg”這個目錄,因此在瀏覽網(wǎng)頁時是不會顯示圖片的
為了不同設備存放路徑不一致的這種情況,通常在網(wǎng)頁中指定文件時,都會選擇使用相對路徑。所謂相對路徑,就是相對于當前文件的位置。關(guān)于相對路徑,有以下三種情況:
當圖像文件和HTML文件位于同一文件夾時,只需輸入圖像文件的名稱即可,如:
<img src="1.png">
當圖像文件位于HTML文件的下一級文件夾,輸入文件夾名和文件名,之間用“/”隔開,如:
<img src="img/2.png">
當圖像文件位于HTML文件的上一級文件夾,在文件名之前加入“…/” ,如果是上兩級,則需要使用 “…/ …/”,以此類推,如:
<im background="../img/0.png">
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。