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>
- 宣告為HTML5文件。
- 、是文件的開始標記和結束的標記。是HTML頁面的根元素,在它們之間是文件的頭部(head)和主體(body)。
- 、定義了HTML文件的開頭部分。它們之間的內容不會在瀏覽器的文件視窗顯示。包含了文件的元(meta)資料。
-
、 定義了網頁標題,在瀏覽器標題欄顯示。 -
、之間的文字是可見的網頁主體內容。
注意:對於中文網頁需要使用 宣告編碼,否則會出現亂碼。有些瀏覽器會設定 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:禁用