HTML初學者入門以及前端學習路線(干貨滿滿)


前言

關鍵詞:前端自學,html入門,html基礎,前端學習路線。

本部分的內容主要是對html入門的一個介紹。在這里需要強調一件事情,許多前端的初學者容易犯的錯誤就是希望將html的所有標簽都要學習到位,這在學習前端是很錯誤的一種想法,在html中你通常只需要學習一些常用的標簽即可,其他標簽需要用到時候再去查文檔即可,這里給出一個官方文檔的地址:https://developer.mozilla.org/zh-CN/docs/Web/HTML
如果你覺得光看文字資料非常的枯燥,這里提供了我認為講解的很好的兩個免費html入門視頻,希望可以幫到你:https://www.bilibili.com/video/BV11t411K74Q
https://www.bilibili.com/video/BV1vs411M7aT

下面是前端的學習路線:

graph LR; HTML-->CSS-->javascript-->jQuery-->HTML5-->CSS3-->ES6-->Vue.js-->webpack-->node.js

一、HTML

0.系統結構

B/S架構:Browser/Serve (瀏覽器/服務器的交互形式)

Browser支持的語言:HTML CSS JavaScript
Serve是服務器,其支持的語言:C C++ Java python
優點:升級方便,只用升級服務器端代碼即可。維護成本低。企業內部解決方案。
缺點:速度慢(初始化的所有數據都來自服務器端)、體驗不好。

C/S架構:Client/Serve(客戶端/服務器端的交互形式)
缺點:升級麻煩、維護成本高。
優點:速度快、體驗好。

兼容問題?世界5大主流瀏覽器。

1.簡介

HTML全稱“Hyper Text Markup Language(超文本標記語言)”,是網頁的標准語言。HTML並不是一門編程語言,而是一門描述性的標記語言。
超文本:流媒體、圖片、聲音、視頻.....
HTML由 W3C(世界萬維網聯盟)制定規范。可以在W3 school中查看中文幫助文檔

<標簽符>內容</標簽符>

那么學習HTML時究竟要學些什么呢?用一句簡單的話來說,就是學習各種標簽,來搭建網頁的“骨架”。在HTML中,標簽有很多種,如文字標簽、圖片標簽、表單標簽等你不需要花費太多精力去記憶其中的內容,只需要多敲代碼。總而言之,學習HTML就是學習各種各樣的標簽,然后針對你想顯示什么東西,再對應地使用正確的標簽,非常簡單。HTML不區分大小寫。

2.結構

<!DOCTYPE html>   <!--文檔聲明,加上表示HTML5語法-->
<html>
 <head>
 </head> <!--頁頭-->
 <body>
 </body> <!--頁身-->
</html>

在vscode中基本結構可以用‘!+回車’ 來快速生成

3.head標簽

事實上,只有一些特殊的標簽才能放在head標簽內,其他大部分標簽都是放在body標簽內的,在HTML中,一般來說,只有5個標簽能放在head標簽內。

  • title標簽
  • meta標簽
  • link標簽
  • style標簽
  • script標簽

3.1 title

定義網頁的標題

<html>
  <head>
    <title>jimmy的個人網頁</title>
  </head>
</html>

3.2 meta

meta標簽一般用於定義頁面的特殊信息,例如頁面關鍵字、頁面描述等。這些信息不是提供給用戶看的,而是提供給搜索引擎蜘蛛(如百度蜘蛛、谷歌蜘蛛)看的
name,content,http-equiv是meta便簽的屬性
!如果網頁出現中文亂碼,可能是你沒有定義編碼!

<html>
  <head>
    <meta name="keyword" content = "這是個人網站" />
    <meta name="descripition" content = "這里記錄我的學習情況" />
    <meta name="author" content = "Jimmy" />
   <!--定義編碼,在html5中可以直接簡寫為<meta charset="utf-8" />--> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
    <!--6s后自動跳轉到指定網站-->
    <meta  http-equiv="refresh" content="6;url=http://www.baidu.com"/>
  </head>
</html>

link標簽用於引入外部樣式文件(CSS文件),這屬於CSS部分的內容,這里不需要深究

<html>
  <head>
    <link type = "text/css" rel="stylesheet" herf="css/index.css"/>
  </head>
</html>

3.4 style

<html>
  <head>
    <style type="text/css">
    /*這里寫CSS樣式*/
    </style>
  </head>
</html>

3.5script

script標簽用於定義頁面的JavaScript代碼,也可以引入外部JavaScript文件

<html>
  <head>
    <script>
    /*這里寫javascript代碼*/
    </script>
  </head>
</html>

4.body標簽

在HTML中,head標簽表示頁面的“頭部”,而body標簽表示頁面的“身體”,在靜態頁面中主要由文本、圖片、超鏈接、音頻和視頻組成。這里注意靜態頁面和動態頁面的區別在於:是否與服務器進行數據交互

4.1 標題標簽

<html>
  <head>
    <meta charset="utf-8"/>
    <title>h標簽</title>
  </head>
  <body>
    <h1>這是一級標題</h1>
    <h2>這是二級標題</h2>
    <h3>這是三級標題</h3>
    <h4>這是四級標題</h4>
    <h5>這是五級標題</h5>
    <h6>這是六級標題</h6>
  </body>
</html>

4.2 段落標簽

段落標簽p會自動換行,並且段落與段落之間有一定的間距.

<p>段落內容</p>

如果想在P標簽內換行,可以使用br標簽

<!DOCTYPE html> 
<html>
<head>
    <meta charset="utf-8" />
    <title>換行標簽</title>
</head>
<body>
    <h3>靜夜思</h3>                  
    <p>床前明月光,疑是地上霜。<br/>舉頭望明月,低頭思故鄉。</p>
</body>
</html>

預留格式pre,在代碼中是什么格式,呈現在網頁上就是什么格式

<!DOCTYPE html> 
<html>
  <head>
    <meta charset='utf-8'/>
    <title>預留格式</title>
  </head>
  <body>
    <pre>
    床前明月光,疑是地上霜。
    舉頭望明月,低頭思故鄉。
    </pre>
  </body>
</html>

4.3 文本標簽

  • 粗體標簽:strong、b

  • 斜體標簽:i、em、cite

  • 上標標簽:sup

  • 下標標簽:sub

  • 中划線標簽:s

  • 下划線標簽:u

  • 大字號標簽:big

  • 小字號標簽:small

  • 字體標簽:font


這里你不用全部記憶,需要用的時候去查詢文檔即可,只需簡單記住有哪些功能。注意:這些標簽是可以嵌套在p標簽內

4.4 水平線標簽

<hr />  <!--實現效果如下-->

*4.5 div標簽

在HTML中,我們可以使用“div標簽”來划分HTML結構,從而配合CSS來整體控制某一塊的樣式。div和span的作用就是布局,可以稱為“圖層”作用是為了保證頁面可以靈活的布局。

<html>
  <head>
    <meta charest="utf-8"/>
    <title>div標簽的學習</title>
  </head>
  <body>
    <div>
      <h2>輸入內容</h2>
      <p>輸入內容</p>
    </div>
    <div>
      <h2>輸入內容</h2>
      <p>輸入內容</p>
    </div>
  </body>
</html>

4.6 自閉合標簽(獨目標記)

我們接觸的大部分標簽都是成對出現的,都有一個“開始符號”和一個“結束符號”。但是有些標簽是沒有結束符號的,比如:

<meta/>  <!--定義網頁信息-->
<link/>  <!--引入“外部CSS文件”-->
<br/>    <!--換行標簽-->
<hr/>    <!--水平線標簽-->
<img/>   <!--圖片標簽-->
<input/> <!--表單標簽-->

*4.7 塊元素和行內元素

在HTML中,塊元素在瀏覽器顯示狀態下將占據整一行,並且排斥其他元素與其位於同一行。此外,一般情況下,塊元素內部可以容納其他塊元素和行內元素。
常見塊元素表:

塊元素 說明
h1~h6 標題元素
p 段落元素
div div元素
hr 水平線
Ol-li 有序列表
Ul-li 無序列表

常見行元素:

行內元素 說明
strong 粗體元素
em 斜體元素
a 超鏈接
span 常用行內元素,結合CSS定義樣式

4.8 實體符號

當在網頁上呈現的符號與HTML代碼沖突時,可以采用實體符號,實體符號的特點是:以&開始,以;結束。
比如空格為 

<html>
  <head>
    <title>實體符號</title>
  </head>
  <body>
    b&lt;a&gt;c
    <!-- 上述內容表示b<a>c-->
  </body>
      
</html>

*4.9 表格

table表示表格,tr代表行,td代表一行中的一個小格子,rowspan表示占幾行(也可以稱作合並單元格),colspan表示占幾列(合並單元格)。th和td一樣也是一個小格子,只是多了加粗居中,可以認為是head。

table也可以分為3部分,thead,tbody,tfoot。並不是必須的,但是有益於后期js代碼編寫以及維護

<html>
  <head>
    <title>table</title>
  </head>
  <body>
    <table border="1px" width="30%" height ="100px">
     <!--頭部-->
     <thead>
      <tr align = "center">
        <td colspan="2">a</td>
      </tr>
     </thead>
      
     <tr>
       <td>c</td>
       <td rowspan="2">d</td>
     </tr>
      
     <tr>
       <td>e</td>
     </tr>
    </table>
  </body>
      
</html>

4.10 背景色和背景圖片&圖片

設置圖片高寬時,只設置寬度,圖片高度會隨之改變。同時設置高寬,會讓圖片失真。

<body bgcolor = "red" background="img/123.png">
  <img src = "img/22.png" width = "100px" title="鼠標懸停,這是圖片" alt = "圖片加載失敗"/>
  
</body>

*4.11 超鏈接

通過超鏈接可以從瀏覽器向服務器發送請求。
request、response

<a href="http://www.google.com" target="_self">谷歌</a>
<!--target:_blank(新窗口) _self(當前窗口) _top(頂級窗口) _parent(父窗口)-->

*4.12 表單

最重要的應用就是接收用戶信息。第一個代碼片段是普通的表單,第二個代碼片段是將表單嵌套在表格中。其中需要注意的是所有內容一定要包含在form中,這樣才會提交的action地址。在input中必須寫上name才會被提交。
提交格式:action?name=value&name=value&name=value......(注意form的提交方法有兩種,一種是post請求,一種是get請求,兩者的區別是post請求不會在地址欄上顯示表單信息,而get會顯示)

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>form</title>
  </head>
  <body>
    <form action="服務器地址" method="post">
      name:<input type="text" name="username" />
      <br />
      password:<input type="password" name="userpwd"  />
      <br />
      <!-- type=“submit”時具有提交表單的能力-->
      <input type="submit" value="submit"/>
    </form>
  </body>
</html>
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <form action="https://198.1.1.1" method="post">
      <table>
        <tr>
          <td>name:</td>
          <td><input type="text" name="username" /></td>
        </tr>
        <tr>
          <td>password:</td>
          <td><input type="password" name="userpwd" /></td>
        </tr>
        <tr>
          <td colspan="2">
            <input type="submit" value="login" />
            <input type="reset" value="reset" />
          </td>
        </tr>
      </table>
    </form>
  </body>
</html>


4.13 上傳文件

將input的type屬性改為file即可上傳文件。type屬性為hidden表示不會在頁面上顯示,其value值會隨表單的提交而傳給服務器(主要用於一些不想讓用戶看見的信息的提交)

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <!--this is used for push file -->
    <input type="file" />

    <form action="192.168.1.1" method="get">
      <!--不會在頁面上顯示,會直接提交給服務器-->
      <input type="hidden" name="usrid" value="111" />
      usercode <input type="text" name="usercode" id="" />
      <input type="submit" value="提交" />
    </form>
  </body>
</html>


4.14 表單擴展

input標簽中的readonly和disabled。用戶都無法修改,但是能看到,注意disabled的數據是無法提交的。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <form action="192.168.1.0" method="post">
      <!--readonly和disabled用戶都不能修改,但是能看到,注意disabled的數據是
        無法提交的-->
      用戶代碼<input type="text" name="usercode" value="111" readonly />
      <br />
      用戶姓名<input type="text" name="username" value="jimmy" disabled />
      <br />
      <input type="submit" value="提交數據" />
    </form>
  </body>
</html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM