1. 程式人生 > 實用技巧 >HTML介紹及常用標籤

HTML介紹及常用標籤

一 HTML介紹

1 HTML是什麼?

(1)超文字標記語言,是一種用於建立網頁的標記語言。
(2)本質上是瀏覽器可識別的規則,我們按照規則寫網頁,瀏覽器根據規則渲染我們網頁。對於不同瀏覽器,對同一個標籤可能會有不同的解釋。(相容性問題)
(3)網頁檔案的副檔名:.html或.htm

2 HTML不是什麼?

HTML是一種標記語言,它不是一種程式語言。
HTML使用標籤來描述網頁。

3 HTML文件結構

最基本的HTML文件結構

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>css樣式優先順序</title>
</head>
<body>

</body>
</html>
  1. 宣告為HTML5文件。
  2. 、是文件的開始標記和結束的標記。是HTML頁面的根元素,在它們之間是文件的頭部(head)和主體(body)。
  3. 、定義了HTML文件的開頭部分。它們之間的內容不會在瀏覽器的文件視窗顯示。包含了文件的元(meta)資料。
  4. 定義了網頁標題,在瀏覽器標題欄顯示。
  5. 、之間的文字是可見的網頁主體內容。

    注意:對於中文網頁需要使用 宣告編碼,否則會出現亂碼。有些瀏覽器會設定 GBK 為預設編碼,則你需要設定為

4 HTML標籤格式

​ (1)HTML標籤是由尖括號包圍的關鍵字,如,

等。
​ (2)HTML標籤通常是成對出現的,比如:和,第一個標籤是開始,第二標籤是結束。結 束標籤內會有斜線。
​ (3)也有一部分標籤是單獨呈現的,比如:
、、
(4)標籤裡面可以有若干屬性,也可不帶屬性。

標籤的語法:

  • <標籤名 屬性1=“屬性值1” 屬性2=“屬性值2”……>內容部分</標籤名>
  • <標籤名 屬性1=“屬性值1” 屬性2=“屬性值2”…… />

幾個很重要的屬性:

  • id:定義標籤的唯一ID,HTML文件樹中唯一
  • class:為html元素定義一個或多個類名(classname)(CSS樣式類名)
  • style:規定元素的行內樣式(CSS樣式)

5 HTML註釋

<!--註釋內容-->

註釋是程式碼之母

6 <!DOCTYPE> 標籤

宣告必須是 HTML 文件的第一行,位於 標籤之前。 宣告不是 HTML 標籤;它是指示 web 瀏覽器關於頁面使用哪個 HTML 版本進行編寫的指令。

二 HTML常用標籤

head內常用標籤

標籤 意義
定義網頁標題
定義內部樣式表
定義JS程式碼或引入外部JS檔案
引入外部樣式表文件或網站圖示
定義網頁原資訊

Meta標籤

介紹:

  • 元素可提供有關頁面的元資訊(mata-information),針對搜尋引擎和更新頻度的描述和關鍵詞。
  • 標籤位於文件的頭部,不包含任何內容。
  • 提供的資訊是使用者不可見的。

meta標籤的組成:meta標籤共有兩個屬性,它們分別是http-equiv屬性和name 屬性,不同的屬性又有不同的引數值,這些不同的引數值就實現了不同的網頁功能。

1.http-equiv屬性:相當於http的檔案頭作用,它可以向瀏覽器傳回一些有用的資訊,以幫助正確地顯示網頁內容,與之對應的屬性值為content,content中的內容其實就是各個引數的變數值。

<!--指定文件的編碼型別(需要知道)-->
<meta http-equiv="content-Type" charset=UTF8">  
<!--2秒後跳轉到對應的網址,注意引號(瞭解)-->
<meta http-equiv="refresh" content="2;URL=https://www.oldboyedu.com">
<!--告訴IE以最高階模式渲染文件(瞭解)-->
<meta http-equiv="x-ua-compatible" content="IE=edge">

2.name屬性: 主要用於描述網頁,與之對應的屬性值為content,content中的內容主要是便於搜尋引擎機器人查詢資訊和分類資訊用的。

搜尋引擎可用相關關鍵字搜到該網站
<meta name="keywords" content="meta總結,html meta,meta屬性,meta跳轉">
搜尋引擎下對該網站的描述
<meta name="description" content="老男孩教育Python學院">

2 body內常用標籤

基本標籤(塊級標籤和內臉標籤)

<body>
    <b>加粗</b>
    <i>斜體</i>
    <u>下劃線</u>
    <s>刪除線</s>
    <p>段落標籤</p>
    <h1>標題1</h1>
    <h2>標題2</h2>
    <h3>標題3</h3>
    <h4>標題4</h4>
    <h5>標題5</h5>
    <h6>標題6</h6>
    <br>
</body>
</html>

特殊字元

內容 &對應程式碼
空格 nbsp;
> gt;
< lt;
& amp;
¥ yen;
版權 copy;
註冊 reg;

div標籤和span標籤

div標籤用來定義一個塊級元素,並無實際的意義。主要通過CSS樣式為其賦予不同的表現。
span標籤用來定義內聯(行內)元素,並無實際的意義。主要通過CSS樣式為其賦予不同的表現。

塊級元素與行內元素的區別:
所謂塊元素,是以另起一行開始渲染的元素,行內元素則不需另起一行。如果單獨在網頁中插入這兩個元素,不會對頁面產生任何影響。
這兩個元素是專門為定義CSS樣式而生的。

注意:

關於標籤巢狀:通常塊級元素可以包含內聯元素或某些塊級元素,但內聯元素不能包含塊級元素,它只能包含其它內聯元素。

p標籤不能包含塊級標籤,p標籤也不能包含p標籤。

img標籤

<img src="圖片的路徑" alt="圖片未載入成功時的提示" title="滑鼠懸浮時提示資訊" width="寬" height="高(寬高兩個屬性只用一個會自動等比縮放)">

a標籤

超連結標籤

所謂的超連結是指從一個網頁指向一個目標的連線關係,這個目標可以是另一個網頁,也可以使相同網頁上的不同位置,還可以是一個圖片,一個電子郵件地址,一個檔案,甚至是一個應用程式。

在另一個網頁開啟連結
<a href="http://www.oldboyedu.com" target="_blank" >點我</a>
在當前網頁開啟連結(當前網頁被替換)
<a href="http://www.oldboyedu.com" target="_self" >點我</a>

href屬性指定目標網頁地址。該地址可以有幾種型別:

  • 絕對URL - 指向另一個站點(比如 href="http://www.jd.com

  • 相對URL - 指當前站點中確切的路徑(href="index.htm")

  • 錨URL - 指向頁面中的錨(href="#top")

    </head>
    <body>
    <a href="" id="d1">top</a>
    <a href="" id="d2">end</a>
    <a href="#d1" >return top</a>
    <a href="#d2" >return end</a>
    </body>
    

列表

1.無序列表

<ul type="disc">
  <li>第一項</li>
  <li>第二項</li>
</ul>

type屬性:

  • disc(實心圓點,預設值)
  • circle(空心圓圈)
  • square(實心方塊)
  • none(無樣式

2.有序列表

<ol type="1" start="2">
  <li>第一項</li>	2.第一項
  <li>第二項</li>	3.第二項
</ol>
字首按順序排序,指定了從2開始以及以阿拉伯數字排序

type屬性:

  • 1 數字列表,預設值
  • A 大寫字母
  • a 小寫字母
  • Ⅰ大寫羅馬
  • ⅰ小寫羅馬

3.標題列表

<dl>
  <dt>標題1</dt>	標題1
	<dd>內容1</dd>			內容1
  <dt>標題2</dt>	標題2
  <dd>內容1</dd>			內容1
  <dd>內容2</dd>			內容2
</dl>

表格 table

表格是一個二維資料空間,一個表格由若干行組成,一個行又有若干單元格組成,單元格里面又可以包含文字、列表、圖案、表單、數字符號、預置文字和其他的表格等內容。
表格最重要的目的是顯示錶格類資料。表格類資料是指最適合組織為表格格式(即按行和列組織)的資料。

表格的基本結構:

<table>
  <tr>
  		<td></td>	
  </tr>
</table>

tr代表表格的一行資料
td代表一行中的一個普通的單元格
th表示表頭單元格

PS:
表格標籤有一個邊框屬性,這個屬性決定了邊框的寬度。預設情況下這個屬性的值為0,所以看不到邊框。

通過border="1px"設定內外邊框

<table border="1px">
    <tr>
        <td>姓名</td>
        <td>性別</td>
        <td>年齡</td>
    </tr>
         <tr>
        <td>egon</td>
        <td>18</td>
        <td>male</td>
    </tr>
    <tr>
        <td>arther</td>
        <td>10</td>
        <td>male</td>
    </tr>
    <tr>
        <td>tank</td>
        <td>18</td>
        <td>male</td>
    </tr>
</table>

表格屬性

#1.寬度和高度
	可以給table和td設定width和height屬性
  1.1 預設情況下表格的寬度是按照內容的尺寸來調整的,也可以通過table標籤來設定widht和height來手動指定表格的寬高
  1.2 如果給td標籤設定的width和height屬性,會修改當前單元格的寬度和高度,只要不超過table的高度,則不會影響整個表格的寬度和高度。
  
#2.水平對齊和垂直對齊
	水平對齊align可以給table、tr、td標籤設定
  垂直物件valign只能給tr、td標籤設定
  
 	==========水平對齊==========
  取值
  align="left"
  align="center"
	align="right"
  
  2.1 給table標籤設定水平對齊,可以讓表格在水平方向上對齊
					強調:table只能設定水平方向
  2.2 給tr設定水平對齊,可以控制當前行所有單元格內容都水平對齊
  
  2.3 給tr設定水平對齊,可以控制當前單元格內容水平對齊,tr與td衝突情況下,以td為準
  
  ==========垂直對齊==========
  取值
  valign="top"
  valign="center"
  valign="bottom"
  
  2.4 給tr設定垂直對齊可以讓當前行所有單元格內容都垂直對齊
  
  2.5 給td設定垂直對齊可以讓當前單元格內容垂直對齊

#3. 外邊距和內邊距
		只能給table設定
  
  3.1 外邊距: 單元格與單元格之間的間隔,cellspacing="3px",預設值為2px
  3.2 內邊距: 單元格邊框與文字之間的距離,cellpadding="200px"

實現細線條表格框架的三種方式

1.在標籤中,想通過指定外邊距為0來實現細線表格是不靠譜的,其實他是將兩條線合成了一條線,所以看上去很不舒服
<table align="center" width="400xp" height="400xp" border="1" cellspacing="0px">
    <tr>
        <td>姓名</td>
        <td>性別</td>
        <td>年齡</td>
    </tr>
        <tr>
        <td>egon</td>
        <td>18</td>
        <td>male</td>
    </tr>
    <tr>
        <td>arther</td>
        <td>10</td>
        <td>male</td>
    </tr>
    <tr>
        <td>tank</td>
        <td>18</td>
        <td>male</td>
    </tr>
</table>

2.細線表格的製作方法:
			1.給table標籤設定bgcolor(底色)
			2.給tr標籤設定bgcolor
			3.給table標籤設定cellspacing="1px"

<table align="center" width="400xp" height="400xp" bgcolor="black" cellspacing="1px">
    <tr bgcolor="white">
        <td>姓名</td>
        <td>性別</td>
        <td>年齡</td>
    </tr>
        <tr bgcolor="white">
        <td>egon</td>
        <td>18</td>
        <td>male</td>
    </tr>
    <tr bgcolor="white">
        <td>arther</td>
        <td>10</td>
        <td>male</td>
    </tr>
    <tr bgcolor="white">
        <td>tank</td>
        <td>18</td>
        <td>male</td>
    </tr>
</table>

3.推薦用
<table border="1px" style="border-collapse: collapse;border: 1px solid black">
    <tr>
        <td>姓名</td>
        <td>性別</td>
        <td>年齡</td>
    </tr>
    <tr>
        <td>egon</td>
        <td>male</td>
        <td>18</td>
    </tr>
    <tr>
        <td>alex</td>
        <td>female</td>
        <td>19</td>
    </tr>
</table>

為了方便管理維護以及提升語義,我們將表格中儲存的資料分為四類:
  1.表格的標題:caption
    特點:相對於表格寬度自動居中對齊
    注意:
      1.1 該標籤一定要寫在table標籤裡,否則無效
      1.2 caption一定要緊跟在table標籤內的第一個
      
  2.表格的表頭資訊:thread
		特點:專門用來儲存每一列的標題,只要當前列的標題儲存在這個標籤中就會自動居中+加粗文字
      
  3.表格的主體資訊:today
    注意:
      3.1如果沒有新增today,瀏覽器會自動新增
      3.2如果制定了thread和tfoot,那麼在修改整個表格的高度時,thread和tfoot有自己預設的高度,不會隨					 著表格的高度變化而變化
      
<table align="center" width="400xp" height="400xp" bgcolor="black" cellspacing="1px">
    <caption>學員資訊統計</caption>
    <thread>
        <tr bgcolor="white">
            <td>姓名</td>
            <td>性別</td>
            <td>年齡</td>
    </tr>
    </thread>

    <today>
        <tr bgcolor="white">
            <td>egon</td>
            <td>18</td>
            <td>male</td>
    </tr>
    </today>

    <today>
        <tr bgcolor="white">
            <td>arther</td>
            <td>10</td>
            <td>male</td>
    </tr>
    </today>

    <today>
        <tr bgcolor="white">
            <td>tank</td>
            <td>18</td>
            <td>male</td>
        </tr>
    </today>

    <tfoot>
        <tr bgcolor="white">
            <td>3</td>
            <td>3</td>
            <td>3</td>
        </tr>
    </tfoot>
    
</table>

單元格合併

1.水平向上的單元格colspan
		可以給td標籤新增一個colspan屬性,來把水平方向的單元格當做多個單元格來看待
  	<td colspan="2"></td>
    
2.垂直向上的單元格rowspan
		可以給td標籤設定一個rowspan屬性,來把垂直方向的單元格當成多個去看待
  
注意:
1、由於把某一個單元格當作了多個單元格來看待,所以就會多出一些單元格,所以需要刪掉一些單元格
2、一定要記住,單元格合併永遠是向後或者向下合併,而不能向前或向上合併




表單 form

功能:

表單用於向伺服器傳輸資料,從而實現使用者與Web伺服器的互動
表單能夠包含input系列的標籤,比如文字欄位、複選框、單選框、提交按鈕等等
表單還可以包含textarea、select、fieldset和label標籤。

表單屬性

屬性 描述
accept-charset 規定在被提交表單中使用的字符集(預設:頁面字符集)。
action 規定向何處提交表單的地址(URL)(提交頁面)。
autocomplete 規定瀏覽器應該自動完成表單(預設:開啟)。
enctype 規定被提交資料的編碼(預設:url-encoded)。
method 規定在提交表單時所用的 HTTP 方法(預設:GET)。
name 規定識別表單的名稱(對於 DOM 使用:document.forms.name)。
novalidate 規定瀏覽器不驗證表單。
target 規定 action 屬性中地址的目標(預設:_self)。
表單元素

基本概念:
HTML表單是HTML元素中較為複雜的部分,表單往往和指令碼、動態頁面、資料處理等功能相結合,因此它是製作動態網站很重要的內容。
表單一般用來收集使用者的輸入資訊
表單工作原理:
訪問者在瀏覽有表單的網頁時,可填寫必須的資訊,然後按某個按鈕提交。這些資訊通過Internet傳送到伺服器上。伺服器上專門的程式對這些資料進行處理,如果有錯誤會返回錯誤資訊,並要求糾正錯誤。當資料完整無誤後,伺服器反饋一個輸入完成的資訊。

input

元素會根據不同的type屬性,變化成多種形態。

type屬性值 表現形式 對應程式碼
text 單行輸入文字 <input type=text" />
password 密碼輸入框
date 日期輸入框
checkbox 複選框
radio 單選框
submit 提交按鈕
reset 重置按鈕
button 普通按鈕
hidden 隱藏輸入框
file 文字選擇框

屬性說明:

  • name:表單提交時的“鍵”,注意和id的區別
  • value:表單提交時對應項的值
    • type="button", "reset", "submit"時,為按鈕上顯示的文字年內容
    • type="text","password","hidden"時,為輸入框的初始值
    • type="checkbox", "radio", "file",為輸入相關聯的值
  • checked:radio和checkbox預設被選中的項
  • readonly:text和password設定只讀
  • disabled:所有input均適用

示範

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="http://www.baidu.com/">
    <fieldset>
        <p>
            使用者名稱
            <input type="text" placeholder="請輸入使用者名稱" name="user">
        </p>
        <p>
            密碼
            <input type="password" placeholder="請輸入密碼" name="password">
        </p>
        <p>
            <input type="submit" value="登入">
        </p>
        <p>
            性別:
            <!--原checked="checked"代表預設,因為重複可以只寫checked-->
            <input type="radio" name="gender" value="male">男
            <input type="radio" name="gender" value="female">女
            <input type="radio" name="gender" checked value="none">保密
        </p>
        <p>
            愛好:
            <!--單選框或是複選寬需要指定相同的name值-->
            <input type="checkbox" name="hobby" value="ball">球類
            <input type="checkbox" name="hobby" value="dance">舞蹈類
            <input type="checkbox" name="hobby"  checked value="music">音樂類
        </p>
        <p>
            簡介:
            <textarea name="" id="" cols="30" rows="10" name="desc"></textarea>
        </p>

        <p>
            生日:
            <input type="date" name="birth">
        </p>

        <p>
            郵箱:
            <input type="email" name="email">
        </p>

        <p>
            電話:
            <input type="number" name="phone">
        </p>

    </fieldset>


</form>

</body>
</html>
select標籤
<form action="" method="post">
  <select name="city" id="city">
    <option value="1">北京</option>
    <option selected="selected" value="2">上海</option>
    <option value="3">廣州</option>
    <option value="4">深圳</option>
  </select>
</form>

屬性說明:

  • multiple:布林屬性,設定後為多選,否則預設單選
  • disabled:禁用
  • selected:預設選中該項
  • value:定義提交時的選項值
textarea多行文字
<textarea name="memo" id="memo" cols="30" rows="10">
  預設內容
</textarea>

屬性說明:

  • name:名稱
  • rows:行數
  • cols:列數
  • disabled:禁用