WEB前端開發–2(HTML基礎)

  • 2022 年 2 月 12 日
  • 筆記

HTML基礎

HTML不分大小寫

 


1.HTML概述

HTML(HyperText MarkUp Language)「超文本標記語言」,他是製作網頁的標準語言

1.1 標籤——元素

由尖括弧包圍,比如<title>,通常是成對出現

例如:<title>  百度一下,你就知道  </title>  

         開始標籤                  內容                 結束標籤

單獨出現的標籤:<img   />     圖片標籤單獨出現

1.2 標籤——嵌套

<html><body></body></html>  ——正確

<html><body></html></body>  ——錯誤

HTML語言中規定標籤一定得有正確的嵌套關係,且要注意縮進,類似python。

標籤嵌套關係可以用HTML DOM樹表示.

1.3 標籤——屬性

<img src=”logo.jpg”  alt=”站標”   />

上面這句程式碼中有 src屬性和alt屬性兩個屬性。

一個標籤可能由多個個屬性,屬性的先後順序無關


 

2.文件

2.1 23文件結構

——————————

<html>

 <head>

  <title></title>

 </head>

</html>

——————————

在最外層有一對<html>標籤,表示此部分由html來規範

<head>   頭部資訊:瀏覽器、搜索引擎所需要資訊,會出現在網頁標題(標籤)欄里

<body>   主體部分:網頁中包含的具體內容

2.2 HTML 編輯器

記事本   /    Sublime Text3     /     Webstorm

2.3  HTML5 的文件結構

——————————————

<!DOCTYPE html>

<html lang=”en”>

<head>

  <meta  charset=”UTF-8″> 

 <title>       </title>

</head>

<body>

<body>

</html>

—————————————

增加部分:

<!DOCTYOE html>  表示當前文檔類型符合HTML5標準

lang 屬性:搜索引擎 —— en英文  zh中文

<meta> :元數據(作者,關鍵字等等數據)

charset屬性:字符集編碼方式——瀏覽器UTF-8是國際編碼

2.4 字符集與編碼

字元(Character):   文字、符號——123    abc    一二三   !?$#

字符集(Charset):  字元的集合——英文字符集、漢字字符集、日文漢字字符集

編碼:將字元和二進位碼對應起來

編碼方式: ASCII:數字、英文字母、符號進行了編碼

        GB2312:簡體中文

     Unicode:所有語言、佔用空間較大

     UTF-8:所有語言、佔用空間較小

2.5 亂碼問題

  源文件保存時編碼源文件聲明<meata charset=”編碼方式”>不一致就會出現亂碼問題


 

3.HTML標籤

3.1 標題標籤h1~h6       一個頁面建議只有一個h1

——————————————

<h1>一級標題  heading  1</h1>

<h2>二級標題  heading  2</h2>

<h3>三級標題  heading  3</h3>

<h4>四級標題  heading  4</h4>

<h5>五級標題  heading  5</h5>

<h6>六級標題  heading  6</h6>

這裡是正文文字

——————————————

3.2  段落p

——————————————

<p>這是段落,每個段落自動換行。</p>

<p>這是段落,每個段落自動換行。</p>

<p>這是段落,每個段落自動換行。       空格,

 

也不會顯示空行, 且不會換行

——————————————

輸出:

————————————————————————————

這是段落,每個段落自動換行。

這是段落,每個段落自動換行。

段落內部文字忽略連續 空格, 也不會顯示空行,且不會換行

————————————————————————————

空行和多個連續空格在段落內部都會只生成一個空格

3.3  段內換行 <br/> 

<br/> 為單獨出現的標籤,直接結束

讀到<br/>標籤自動換行,類似於\n

3.4  空格字元&nbsp;

&nbsp;    為特殊字元,全小寫

——————————————————————————————

<body>

  <p>段落內部文字忽略連續&nbsp;&nbsp;&nbsp;空格,

  <br/>

  也不會顯示空行,且不會換行

  </p>

</body>

——————————————————————————————

輸出:

——————————————————————————————

段落內部文字忽略連續      空格,

 

也不會顯示空行,且不會換行

——————————————————————————————

3.5 預留格式pre

定義預格式化的文本,在pre標籤內部,所有內容都會被保留源格式。

——————————————————————————————

<body>

  <pre>

  這是預留格式文本       它保留了         空格

 

  和空行

  </pre>

  <p>pre    標籤很適合顯示電腦程式碼   </p>

  <pre>

  for i=1 to 10

    print i

  next i

  </pre>

<body>

——————————————————————————————

3.6  行內組合span

  組合行內元素,以便通過CSS樣式來格式化

——————————————————————————————

<style type=”text/css”>

span{

  color : blue;

  font-wieight : bold;  

}

</style>

<p> 最新<span>中國人口調查報告顯示</span>顯示</p>

——————————————————————————————

3.7  水平線<hr/>

——————————————————————

<p>正文段落</p>

<hr  />

<p>正文段落</p>

——————————————————————

3.8  注釋內容標籤  <!–   注釋內容  –>

——————————————————————

<body>

  <!–  這是一段注釋–>

  <!– 注釋可以

  跨行 –>

</

<body>

——————————————————————

3.9  超鏈接   <a>

<a href=”網址”>  文字或圖片   </a>

分類:

  鏈接到本站點的其他網頁:

    <a href=”news.html”>  新聞  </a>

  鏈接到其他站點的網頁:

    <a href=”//www.baidu.com”>  百度  </a>

  虛擬超鏈接:
    <a href=’#’>  板塊2  </a>   ——還沒設置好超鏈接時用虛擬超鏈接替代

舉例:

【index.html】

——————————————————————————

<!DOCTYPE html>
<html lang=’en’>
<head>
  <meta charset=’UTF-8′>
  <title>Doucment</title>
</head>
<body>
  <h1>首頁</h1>
  <h2>導航</h2>
  <a href=”news.html”> 新聞 </a>
  <a href=”technology.html”> 科技 </a>
  <a href=”//www.baidu.com”> 問問百度 </a>
</body>
</html>

————————————————————————————

【news.html】

———————————————————————————————

<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”utf-8″>
<title> 新聞 </title>
</head>
<body>
<h1> 新聞板塊 </h1>
<p><a href=”#”>五年來###這樣論述”一帶一路”</a></p>
<p><a href=”#”>關於中非合作 ###這些提法有深意</a></p>
<p><a href=”#”>專家學者高度評價###提出的”五不””四不能”</a></p>
<p><a href=”#”>###將赴俄出席東方經濟論壇並與普京會晤</a></p>
<p><a href=”#”>人命日報:讓能幹事者有舞台 中國方案 專題</a></p>
<p><a href=”#”>中國人當心 又來了兩則中美貿易戰的宣言</a></p>
</body>
</html>

————————————————————————————————

【technology.html】

—————————————————————————————————————

<!DOCTYPE html>
<html lang=”en”>
<head>
  <meta charset=”utf-8″>
  <title> 科技 </title>
</head>
<body>
  <h1> 科技板塊 </h1>
  <p><a href=”#”>顏寧課題組70天里發3篇Sciense</a></p>
  <p><a href=”#”>不良反應≠疫苗一定有問題</a></p>
  <p><a href=”#”>自如事件:無限放大的甲醛恐慌</a></p>
  <p><a href=”#”>超越基因的遺傳: 你遺傳給後代的也許不只是基因資訊</a></p>
  <p><a href=”#”>科學大家 |如何治癒癌症:個性化精準醫療將發揮大作用</a></p>
  <p><a href=”#”>美國無人太空飛機執行第五次任務已一年 目的仍未知</a></p>
</body>
</html>

——————————————————————————————————————

3.10  影像

3.10.1 影像格式

常見影像格式有:JPG,PNG,GIF

JPG:有損壓縮的影像格式,支援色彩豐富的圖片

GIF :簡單動畫背景透明

PNG:  無損壓縮,透明、交錯、動畫

3.10.2 插圖影像 <img />

<img src=”w3school.gif”>

img標籤有兩個重要屬性:src屬性 、 alt屬性

src屬性:影像路徑+文件名

alt屬性:當影像由於某種原因未打開時,影像的替換文本

3.10.3  絕對路徑與相對路徑

絕對路徑:以根目錄為基準<img src=”C:/site/logo.gif” />

相對路徑:以該文檔所在位置為基準<img src=”logo.gif” />

         同級文件夾中:<img src=”images/logo.gif” />

         上級文件夾中:<img src=”../logo.gif” />

 

3.11 區域div

——————————————

<div align=”center”>   # align=center 居中

  <h1>web 前端開發</h1>

  <p>HTML</p>

  <p>CSS</p>

  <p>JavaScript</p>

</div>

——————————————

3.12  列表

3.12.1 無序列表  <ul> <li>

可以將多個超鏈接變成列表項,存儲為無序列表。

————————————————————————————————

<h1>Web 前端開發</h1>

<u1>

  <li>HTML</li>

  <li>CSS</li>

  <li>JS</li>

</u1>

————————————————————————————————

3.12.2 有序列表  <ol>  <li>

例如排行榜,有些地方先後順序很重要,故採用有序列表

————————————————————————————————

<h1>web 前端開發</h1>

<ol>

  <li>HTML</li>

  <li>CSS</li>

  <li>JS</li>

</ol>

————————————————————————————————

3.13 表格   table  tr   td   th

以表格的方式呈現資訊

table——表     tr——表格行    td——普通單元格   th——表頭單元格

————————————————————————————————

<table border=”1″>

  <tr>

    <td>red</td>

    <td>yellow</td>

  </tr>

  <tr>

    <td>blue</td>

    <td>green</td>

  </tr>

</table>

————————————————————————————————

3.14 表單與表單元素

表單:是一個區域,用於採集用戶資訊

表單元素:文本框、按鈕、單選、複選、下拉列表、文本域

3.14.1 表單 <form>

action屬性:表示收集來的數據交於哪個網頁處理(後端範疇)

————————————

<form action=”數據處理網頁”>

  表單元素

</form>

————————————

3.14.2 文本框、密碼框input

text與password的區別: text明文顯示,password則是用星號顯示

name屬性為資訊地址

——————————————————————————————

<form>

  賬戶:<input type=”text” name=”userName” />

  <br />

  密碼:<input typy=”password” name=”userPsd” />

</form>

——————————————————————————————

3.14.3 按鈕  input——

按鈕:提交按鈕、重置按鈕

type:提交按鈕——submit   重置按鈕——reset

value:按鈕表面的文字

——————————————————————————

<form>

  愛好:

  <input type=”text”>

  <input type=”submit” value=”確定”   />

  <input tyoe=「reset」  value=「重置」     />

</form>

——————————————————————————

3.14.4  單選框、複選框input——radio  checkbox

單選框:只能選則一項     複選框:任意選擇多項

type:單選框——eadio    複選框——checkbox

value:表示要提交到後端的數據

name:當前這一項的名稱(單選框name值相同,複選框name值不同)

checkd:當前這一項是否被默認選擇,一般為第一項

——————————————————————————————————

<form>

  性別:

  男       <input type=”radio” value=”boy” name=”gender” checkd=”checked”  />

  女  <input type=”radio” value=”girl” name=”gender”   />

  <br   />

  愛好:

  <input type=”checkbox” value=”1″ name=”music” checkd=”checked”  /> 音樂

  <input type=”checkbox” value=”2″ name=”sport”       /> 體育

  <input type=”checkbox” value=”3″ name=”reading”   /> 閱讀

</form>

——————————————————————————————————

3.14.5  下拉列表框  selected  option

selected=”selected” 即為被選擇的一項

——————————————————————

<select>

  <option> 選項1 </option>

  <option  selected=”selected”>  選項2  </option>

</select>

——————————————————————

3.14.6  文本域  Textarea

<textarea  rows=”行數”  cols=「列數」>  文本  </textarea>

——————————————————————————————————

<form>

  個人簡介:<br >

  <textarea  cols=”50″  rows=”10″>

    在這裡輸入內容

  </textarea>

  <br />

 

       <input type=”submit” value=”確定”   />

  <input tyoe=「reset」  value=「重置」     />

</form>

——————————————————————————————————

4. web語義化

4.1 概述

Web語義化:讓頁面具有更好的結構與含義,從而讓人和機器都能快速理解網頁內容

優點:1.結構清晰,利於團隊的開發、維護

   2.有利於搜索引擎理解

   3.SEO(Search Engine Optimization) 搜索引擎優化

   4.容易兼容不同設備。

4.2 em strong        均成對使用

<em> = <i>:  emphasize  斜體

<strong> = <b>:strong   加粗

4.3  dl,dt,dd

————————————————

<dl>

  <dt>HTML</dt>

  <dd> 超文本標記語言 </dd>

  <dt>CSS<dt>

  <dd>層疊樣式表</dt>

</dl>

————————————————

輸出:

————————————————

HTML

  超文本標記語言

CSS

  層疊樣式表

————————————————

5. sublime 快捷鍵

alt+shift+2   分成兩屏

alt+shift+1   回到單螢幕

ctrl+s   保存

ctrl+/   注釋

ctrl+shift+/  取消注釋

按下ctrl單擊多處,可以多處同時編輯

配合Tab快捷鍵:

!   HTML5文件結構

p*4   四個段落

>  嵌套 

ul>li*n   快速生成無序列表

table>tr*m>td*n    生成m*n的表格

 p{段落內容}    生成含內容的段落