1. 程式人生 > 其它 >HTML的表格標籤,列表標籤,表單標籤,HTML5有哪些新特性

HTML的表格標籤,列表標籤,表單標籤,HTML5有哪些新特性

歡迎大家去部落格冰山一樹Sankey,瀏覽效果更好。直接右上角搜尋該標題即可

部落格園主頁:部落格園主頁-冰山一樹Sankey
CSDN主頁:CSDN主頁-冰山一樹Sankey

前端學習:學習地址:黑馬程式設計師pink老師前端入門教程,零基礎必看的h5(html5)+css3+移動,下面這些都是一些學習筆記。臨淵羨魚,不如退而結網!!願我自己學有所成,也願每個前端愛好者學有所成

一. 表格標籤

1.1 表格的主要作用

表格主要用於顯示、展示資料,因為它可以讓資料顯示的非常的規整,可讀性非常好。特別是後臺展示資料的時候,能夠熟練運用表格就顯得很重要。一個清爽簡約的表格能夠把繁雜的資料表現得很有條理。

總結:表格不是用來佈局頁面的,而是用來展示資料的.

1.2 表格的基本語法

<table>
	<tr>
		<td>單元格內的文字</td>
 ...
	</tr>
 ...
</table>
  1. <table> </table> 是用於定義表格的標籤。
  2. <tr> </tr> 標籤用於定義表格中的行,必須巢狀在 <table> </table>標籤中。
  3. <td> </td> 用於定義表格中的單元格,必須巢狀在<tr></tr>
    標籤中。
<table>
    <tr><td>姓名</td> <td>性別</td><td>年齡</td></tr>
    <tr><td>劉德華</td> <td>男</td><td>30</td></tr>
    <tr><td>pink</td> <td>男</td><td>21</td></tr>
    <tr><td>gff</td> <td>男</td><td>21</td></tr>
    <tr><td>piwwecnk</td> <td>男</td><td>21</td></tr>
</table>

1.3 表頭單元格標籤

一般表頭單元格位於表格的第一行或第一列,表頭單元格里面的文字內容加粗居中顯示, 突出重要性
<th> 標籤表示 HTML 表格的表頭部分(table head 的縮寫)

語法:

<table>
	<tr>
		<th>姓名</th>
		...
	</tr>
	...
</table>

1.4 表格屬性

表格標籤這部分屬性實際開發不常用,後面通過 CSS 來設定.
瞭解目的:

  1. 記住這些英語單詞,後面 CSS 會使用.
  2. 直觀感受表格的外觀形態

1.5 案例分析

小說排行榜

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>今日小說排行榜</title>
</head>
<body>
    <table align="center" width="500" height="249" border="1" cellspacing="0" >
    <thead>
        <tr>
            <th>排名</th>
            <th>關鍵詞</th>
            <th>趨勢</th>
            <th>進入搜尋</th>
            <th>最近七日</th>
            <th>相關連結</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>鬼吹燈</td>
            <td><img src="down.jpg"></td>
            <td>456</td>
            <td>123</td>
            <td> <a href="#">貼吧</a> <a href="#">圖片</a> <a href="#">百科</a> </td>
        </tr>

        <tr>
                <td>1</td>
                <td>鬼吹燈</td>
                <td><img src="down.jpg"></td>
                <td>456</td>
                <td>123</td>
                <td> <a href="#">貼吧</a> <a href="#">圖片</a> <a href="#">百科</a> </td>
        </tr>
        <tr>
                <td>3</td>
                <td>西遊記</td>
                <td><img src="up.jpg"></td>
                <td>456</td>
                <td>123</td>
                <td> <a href="#">貼吧</a> <a href="#">圖片</a> <a href="#">百科</a> </td>
        </tr>
        <tr>
                <td>1</td>
                <td>鬼吹燈</td>
                <td><img src="down.jpg"></td>
                <td>456</td>
                <td>123</td>
                <td> <a href="#">貼吧</a> <a href="#">圖片</a> <a href="#">百科</a> </td>
        </tr>
        <tr>
                <td>1</td>
                <td>鬼吹燈</td>
                <td><img src="down.jpg"></td>
                <td>456</td>
                <td>123</td>
                <td> <a href="#">貼吧</a> <a href="#">圖片</a> <a href="#">百科</a> </td>
        </tr>
        <tr>
                <td>1</td>
                <td>鬼吹燈</td>
                <td><img src="down.jpg"></td>
                <td>456</td>
                <td>123</td>
                <td> <a href="#">貼吧</a> <a href="#">圖片</a> <a href="#">百科</a> </td>
        </tr>
    </tbody>           
    </table>
</body>
</html>

1.6 表格結構標籤

使用場景:因為表格可能很長,為了更好的表示表格的語義,可以將表格分割成 表格頭部和表格主體兩大部分.
在表格標籤中,分別用:<thead>標籤 表格的頭部區域、<tbody>標籤 表格的主體區域. 這樣可以更好的分清表格結構。

  1. <thead></thead>:用於定義表格的頭部。 內部必須擁有 標籤。 一般是位於第一行。
  2. <tbody></tbody>:用於定義表格的主體,主要用於放資料本體 。
  3. 以上標籤都是放在 <table></table> 標籤中。

1.7 合併單元格

特殊情況下,可以把多個單元格合併為一個單元格。

跨行合併:rowspan="合併單元格的個數"

跨列合併:colspan="合併單元格的個數"

目標單元格:(寫合併程式碼)

  • 跨行:最上側單元格為目標單元格,寫合併程式碼
  • 跨列:最左側單元格為目標單元格,寫合併程式碼

合併單元格三步曲

  1. 先確定是跨行還是跨列合併。
  2. 找到目標單元格. 寫上合併方式 = 合併的單元格數量。比如:<td colspan="2"></td>
  3. 刪除多餘的單元格。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>合併單元格</title>
</head>
<body>
    <table width="500" height="249" border="1" cellspacing="0">
        <tr>
            <td></td>
            <td colspan="2"></td>
            <-->原來單元格</-->   
        </tr>
        <tr>
            <td rowspan="2"></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
           	<-->原來單元格</-->
            <td></td>
            <td></td>
        </tr>
    
    </table>
</body>
</html>

二. 列表標籤

表格是用來顯示資料的,那麼列表就是用來佈局的。
列表最大的特點就是整齊、整潔、有序,它作為佈局會更加自由和方便。
根據使用情景不同,列表可以分為三大類:無序列表、有序列表和自定義列表。

標籤名 定義 說明
<ul></ul> 無序標籤 裡面只能包含li,設有順序,使用較多。li裡面可以包含任何標籤
<li></li> 有序標籤 裡面只能包含li,有順序,使用相對較少。li裡面可以包含任何標籤
<dl><dl> 自定義列表 裡面只能包含dt和dd。dt和dd裡面可以放任何標籤

2.1 無序列表

<ul> 標籤表示 HTML 頁面中專案的無序列表,一般會以專案符號呈現列表項,而列表項使用 <li> 標籤定義。
無序列表的基本語法格式如下:

<ul>
    <li>列表項1</li>
    <li>列表項2</li>
    <li>列表項3</li>
    ...
</ul>


<ul>
    <li>榴蓮</li>
    <li>臭豆腐</li>
    <li>鯡魚罐頭</li>
</ul>

注意

  1. 無序列表的各個列表項之間沒有順序級別之分,是並列的。
  2. <ul>\</ul> 中只能巢狀 <li>\</li>,直接在 <ul>\</ul> 標籤中輸入其他標籤或者文字的做法是不被允許的
  3. <li></li> 之間相當於一個容器,可以容納所有元素。
  4. 無序列表會帶有自己的樣式屬性,但在實際使用時,我們會使用 CSS 來設定。

2.2 有序列表

有序列表即為有排列順序的列表,其各個列表項會按照一定的順序排列定義。
在 HTML 標籤中,<ol> 標籤用於定義有序列表,列表排序以數字來顯示,並且使用 <li> 標籤來定義列表項。
有序列表的基本語法格式如下:

<ol>
 <li>列表項1</li>
 <li>列表項2</li>
 <li>列表項3</li>
 ...
</ol>
  1. <ol>\</ol>中只能巢狀<li>\</li>,直接在<ol>\</ol>標籤中輸入其他標籤或者文字的做法是不被允許的。

  2. <li></li>之間相當於一個容器,可以容納所有元素。

  3. 有序列表會帶有自己樣式屬性,但在實際使用時,我們會使用 CSS 來設定。

2.3 自定義列表

自定義列表的使用場景:
自定義列表常用於對術語或名詞進行解釋和描述,定義列表的列表項前沒有任何專案符號。

在 HTML 標籤中,<dl> 標籤用於定義描述列表(或定義列表),該標籤會與 <dt>(定義專案/名字)和<dd>(描述每一個專案/名字)一起使用。
其基本語法如下:

<dl>
    <dt>名詞1</dt>
    <dd>名詞1解釋1</dd>
    <dd>名詞1解釋2</dd>
</dl>
  1. <dl></dl> 裡面只能包含 <dt><dd>。
  2. <dt><dd>個數沒有限制,經常是一個<dt> 對應多個<dd>

三. 表單標籤

使用表單目的是為了收集使用者資訊。

在我們網頁中, 我們也需要跟使用者進行互動,收集使用者資料,此時就需要表單。

網頁中的表單展示

3.1 表單的組成

在 HTML 中,一個完整的表單通常由表單域、表單控制元件(也稱為表單元素)和 提示資訊3個部分構成。

3.2 表單域

表單域是一個包含表單元素的區域。
在 HTML 標籤中, <form></form> 標籤用於定義表單域,以實現使用者資訊的收集和傳遞。

<form> 會把它範圍內的表單元素資訊提交給伺服器

<form action=“url地址” method=“提交方式” name=“表單域名稱">
各種表單元素控制元件
</form>

常用屬性:

屬性 屬性值 作用
action url地址 用於指定接收並處理表單資料的伺服器程式的url地址。
method get/post 用於設定表單資料的提交方式,其取值為get或post。
name 名稱 用於指定表單的名稱,以區分同一個頁面中的多個表單域。

3.3 表單控制元件

3.3.1 <input>標籤

在英文單詞中,input 是輸入的意思,而在表單元素中 <input/> 標籤用於收集使用者資訊。
<input/> 標籤中,包含一個 type 屬性,根據不同的 type 屬性值,輸入欄位擁有很多種形式(可以是文字、欄位、複選框、掩碼後的文字控制元件、單選按鈕、按鈕等)。

input type="屬性值" />
  • <input/> 標籤為單標籤
  • type 屬性設定不同的屬性值用來指定不同的控制元件型別

type 屬性的屬性值及其描述如下:

屬性值 描述
button 定義可點選按鈕(多數情況下,用於通過JavaScript啟動指令碼)
checkbox 定義複選框。
file 定義輸入欄位和"瀏覽"按鈕,供檔案上傳。
hidden 定義隱藏的輸入欄位。
image 定義影象形式的提交按鈕。
password 定義密碼欄位。該欄位中的字元被掩碼。
radio 定義單選按鈕。
reset 定義重置按鈕。重置按鈕會清除表單中的所有資料。
submit 定義提交按鈕。提交按鈕會把表單資料傳送到伺服器。
text 定義單行的輸入欄位,使用者可在其中輸入文字。預設寬度為20個字元。

除 type 屬性外,<input>標籤還有其他很多屬性,其常用屬性如下:

屬性 屬性值 描述
name 由使用者自定義 定義input元素的名稱。
value 由使用者自定義 規定input元素的值。
checked checked 規定此input元素首次載入時應當被選中。
maxlength 正整數 規定輸入欄位中的字元的最大長度。
  1. name 和value 是每個表單元素都有的屬性值,主要給後臺人員使用.
  2. name 表單元素的名字, 要求 單選按鈕和複選框要有相同的name值.
  3. checked屬性主要針對於單選按鈕和複選框, 主要作用一開啟頁面,就要可以預設選中某個表單元素.
  4. maxlength 是使用者可以在表單元素輸入的最大字元數, 一般較少使用.

小問答:

  1. 有些表單元素想剛開啟頁面就預設顯示幾個文字怎麼做?

    使用者名稱: <input type="text" value="請輸入使用者名稱" /> 
    

    答: 可以給這些表單元素設定 value 屬性=“值”

  2. 頁面中的表單元素很多,如何區別不同的表單元素?

使用者名稱: <input type="text" value="請輸入使用者名稱" name="username" />

答: name 屬性:當前 input 表單的名字,後臺可以通過這個 name 屬性找到這個表單。頁面中的表單很多,name 的主要作用就是用於區別不同的表單。

  • name 屬性後面的值,是自定義的
  • radio (或者checkbox)如果是一組,必須給他們命名相同的名字
<input type="radio" name="sex" />男
<input type="radio" name="sex" />女
  1. . 如果頁面一開啟就讓某個單選按鈕或者複選框是選中狀態?

答: checked 屬性:表示預設選中狀態。用於單選按鈕和複選按鈕

性 別:
<input type="radio" name="sex" value="男" checked="checked" />男
<input type="radio" name="sex" value="女" />女
  1. 如何讓input表單元素展示不同的形態? 比如單選按鈕或者文字框

答: type屬性:type屬性可以讓input表單元素設定不同的形態

<input type="radio" name="sex" value="男" checked="checked" />男
<input type="text" value=“請輸入使用者名稱”> 

總結:

<form action="xxx.php" method="get">
         <!-- text 文字框 使用者可以裡面輸入任何文字 -->
        使用者名稱: <input type="text" name="username" value="請輸入使用者名稱" maxlength="6">   <br> 
        <!-- password 密碼框 使用者看不見輸入的密碼 -->
        密碼: <input type="password" name="pwd" >  <br> 
        <!-- radio 單選按鈕  可以實現多選一 -->
        <!-- name 是表單元素名字 這裡性別單選按鈕必須有相同的名字name 才可以實現多選1 -->
        <!-- 單選按鈕和複選框可以設定checked 屬性, 當頁面開啟的時候就可以預設選中這個按鈕 -->
        性別: 男 <input type="radio" name="sex" value="男"> 女  <input type="radio" name="sex" value="女" checked="checked"> 人妖   <input type="radio" name="sex" value="人妖">   <br> 
        <!-- checkbox 複選框  可以實現多選 -->
        愛好: 吃飯 <input type="checkbox" name="hobby" value="吃飯"> 睡覺 <input type="checkbox" name="hobby">  打豆豆 <input type="checkbox" name="hobby" checked="checked"> 
        <br> 
        <!-- 點選了提交按鈕,可以把 表單域 form 裡面的表單元素 裡面的值 提交給後臺伺服器 -->
        <input type="submit" value="免費註冊">
        <!-- 重置按鈕可以還原表單元素初始的預設狀態 -->
        <input type="reset" value="重新填寫">
        <!-- 普通按鈕 button  後期結合js 搭配使用-->
        <input type="button" value="獲取簡訊驗證碼"> <br>
        <!-- 檔案域 使用場景 上傳檔案使用的 -->
        上傳頭像:  <input type="file" >
</form>

3.3.2 <label>標籤

<label> 標籤為 input 元素定義標註(標籤)。
<label> 標籤用於繫結一個表單元素, 當點選<label> 標籤內的文字時,瀏覽器就會自動將焦點(游標)轉到或者選擇對應的表單元素上,增加選取範圍,用來增加使用者體驗.
語法

<label for="sex">男</label>
<input type="radio" name="sex" id="sex" />

核心: 標籤的 for 屬性應當與相關元素的 id 屬性相同。

3.3.3 <select>標籤

使用場景: 在頁面中,如果有多個選項讓使用者選擇,並且想要節約頁面空間時,我們可以使用<select>標籤控制元件定義下拉列表。

在頁面中,如果有多個選項讓使用者選擇,並且想要節約頁面空間時,我們可以使用<select>標籤控制元件定義下拉列表

語法

<select>
    <option>選項1</option>
    <option>選項2</option>
    <option>選項3</option>
    ...
</select>

  1. <select> 中至少包含一對<option>
  2. <option> 中定義 selected =“ selected " 時,當前項即為預設選中項。

3.3.4 <textarea>標籤

當用戶輸入內容較多的情況下,我們就不能使用文字框表單了,此時我們可以使用 <textarea> 標籤。
在表單元素中,<textarea> 標籤是用於定義多行文字輸入的控制元件。

使用多行文字輸入控制元件,可以輸入更多的文字,該控制元件常見於留言板,評論。

語法

<textarea rows="3" cols="20">
 文字內容
</textarea>
  1. 通過 <textarea> 標籤可以輕鬆地建立多行文字輸入框。
  2. cols=“每行中的字元數”rows=“顯示的行數”,我們在實際開發中不會使用,都是用 CSS 來改變大小。

表格,列表,表單綜合案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>綜合案例-註冊頁面</title>
</head>
<body>
    <h4>青春不常在,抓緊談戀愛</h4>
    <table width="600" >
        <!-- 第一行 -->
        <tr>
            <td>性別:</td>
            <td>
                <input type="radio" name="sex" id="nan"> <label for="nan"> <img src="images/man.jpg" > 男 </label>  
                <input type="radio" name="sex" id="nv"> <label for="nv"><img src="images/women.jpg" > 女</label> 
            </td>
        </tr>
        <!-- 第二行 -->
        <tr>
            <td>生日:</td>
            <td>
                <select>
                    <option>--請選擇年份--</option>
                    <option>2001</option>
                    <option>2002</option>
                    <option>2003</option>
                </select>
                <select>
                        <option>--請選擇月份--</option>
                        <option>1</option>
                        <option>2</option>
                        <option>3</option>
                </select>
                <select>
                        <option>--請選擇日--</option>
                        <option>1</option>
                        <option>2</option>
                        <option>3</option>
                </select>
        
            </td>
        </tr>
        <!-- 第三行 -->
        <tr>
            <td>所在地區</td>
            <td><input type="text" value="北京思密達"></td>
        </tr>
        <!-- 第四行 -->
        <tr>
            <td>婚姻狀況:</td>
            <td>
                    <input type="radio" name="marry" checked="checked">未婚  <input type="radio" name="marry">  已婚  <input type="radio" name="marry"> 離婚
            </td>
        </tr>
         <!-- 第五行 -->
         <tr>
             <td>學歷:</td>
             <td><input type="text" value="博士後"></td>
         </tr>
          <!-- 第六行 -->
        <tr>
            <td>喜歡的型別:</td>
            <td>
                <input type="checkbox" name="love" > 嫵媚的 
                <input type="checkbox" name="love" > 可愛的 
                <input type="checkbox" name="love" > 小鮮肉 
                <input type="checkbox" name="love" > 老臘肉 
                <input type="checkbox" name="love"  checked="checked"> 都喜歡 
            </td>
        </tr>
         <!-- 第七行 -->
        <tr>
            <td>個人介紹</td>
            <td>
                <textarea>個人簡介</textarea>
            </td>
        </tr>
        <!-- 第八行 -->
        <tr>
            <td></td>
            <td>
                <input type="submit" value="免費註冊" >
            </td>
        </tr>
        <tr>
                <td></td>
                <td>
                    <input type="checkbox"  checked="checked">    我同意註冊條款和會員加入標準
                </td>
        </tr>
        <tr>
                <td></td>
                <td>
                    <a href="#" > 我是會員,立即登入</a>
                </td>
        </tr>
        <tr>
                <td></td>
                <td>
                    <h5>我承諾</h5>
                    <ul>
                        <li>年滿18歲、單身</li>
                        <li>抱著嚴肅的態度</li>
                        <li>真誠尋找另一半</li>
                    </ul>
                </td>
        </tr>
           
    </table>
</body>
</html>

四. HTML5新特性

HTML5 的新增特性主要是針對於以前的不足,增加了一些新的標籤、新的表單和新的表單屬性等。
這些新特性都有相容性問題,基本是 IE9+ 以上版本的瀏覽器才支援,如果不考慮相容性問題,可以大量使用這些新特性。
宣告:

  1. 新特性增加了很多,但是我們專注於開發常用的新特性。
  2. 基礎班我們講解部分新特性,到了就業班還會繼續講解其他新特性。

1.1 新增的語義化標籤

以前佈局,基本用 div 來做。div 對於搜尋引擎來說,是沒有語義的。

<div class=“header”> </div>
<div class=“nav”> </div>
<div class=“content”> </div>
<div class=“footer”> </div>

1.2 新增video標籤

HTML5 在不使用外掛的情況下,也可以原生的支援視訊格式檔案的播放,當然,支援的格式是有限的。

語法:

<video src="檔案地址" controls="controls"></video>
 <video controls="controls" width="300">
 <source src="move.ogg" type="video/ogg" >
 <source src="move.mp4" type="video/mp4" >
 您的瀏覽器暫不支援 <video> 標籤播放視訊
 </ video >

常見屬性

屬性 描述
autoplay autoplay 視訊就堵自動幅放(谷歐劉覽器需要新增muted來解決自動插放問題)
controls controls 向用戶顯示播放控制元件
width pixels(畫素) 設定播放器寬度
height pixels(畫素) 設定播放器高度
loop loop 插放完是香繼續插放該視訊,迴圈插放
preload aut0(預先載入視訊)
none(不應載入視訊)
規定是否預載入視須如果有了autoplay就忽略該屬性)
src url 視訊ur地址
poster Imgurl 載入等待的畫面圖片
muted muted 靜音播放

1.3 新增audio標籤

瀏貸器 MP3 Wav Ogg
Intemet Explorer YES NO NO
Chrome YES YES YES
Firefox YES YES YES
Safari YES YES NO
Opera YES YES YES

語法:

<audio src="檔案地址" controls="controls"></audio>
 <source src="happy.mp3" type="audio/mpeg" >
 <source src="happy.ogg" type="audio/ogg" >
 您的瀏覽器暫不支援 <audio> 標籤。
 </ audio>

常見屬性

屬性 描述
autoplay autoplay 如果出現該屬性,則音訊在就緒後馬上播放。
controls controls 如果出現該屬性,則向用戶顯示控制元件,比如播放按鈕。
loop loop 如果出現該屬性,則每當音訊結束時重新開始插放。
src url 要播放的音訊的URL,

谷歌瀏覽器把音訊和視訊自動播放都禁止了。

總結

  • 音訊標籤和視訊標籤使用方式基本一致
  • 瀏覽器支援情況不同
  • 谷歌瀏覽器把音訊和視訊自動播放禁止了
  • 我們可以給視訊標籤新增 muted 屬性來靜音播放視訊,音訊不可以(可以通過JavaScript解決)
  • 視訊標籤是重點,我們經常設定自動播放,不使用 controls 控制元件,迴圈和設定大小屬性

1.4 新增的 input 型別

屬性值 說明
type="email" 限制使用者輸入必須為Email型別
type="url" 限制使用者輸入必須為URL型別
type="date" 限制使用者輸入必須為日期型別
type="time" 限制使用者輸入必須為時間型別
type="month" 限制使用者輸入必須為月型別
type="week" 限制使用者輸入必須為周型別
type="number" 限制使用者輸入必須為數字型別
type="tel" 手機號碼
type="search" 搜尋框
type="color" 生成一個顏色選擇表單

1.5 新增表單屬性

屬性 說明
required required 表單擁有該屬性表示其內容不能為空,必填
placeholder 提示文字 表單的提示資訊,存在預設值將不顯示
autofocus autofocus 自動聚焦屬性,頁面載入完成自動聚焦到指定表單
autocomplete off /on 當用戶在欄位開始鍵入時,瀏覽器基於之前鍵入過的值,應該顯示出在欄位中填寫的選項。預設已經開啟,如autocomplete="on",關閉autocomplete="off
需要放在表單內,同時加上name屬性,同時成功提交
multiple multiple 可以多選檔案提交
可以通過以下設定方式修改placeholder裡面的字型顏色:
input:placeholder{
	color:pink;
}