六、HTML高级标签

294 阅读11分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路​。

 一、表格标签

表格是实际开发中非常常用的标签:

(一)表格的主要作用

表格主要用于显示、展示数据,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格能够把繁杂的数据表现得很有条理。

Pink老师总结:表格不是用来布局页面的,而是来展示数据的。

(二)表格的基本语法

    <table>
        <tr>
            <td>单元格内的文字</td>
            ...
        </tr>
        ...
    </table>

1、<table></table>是用于定义表格的标签。

2、<tr></tr>标签用于定义表格中的行,必须嵌套在

标签中。

3、<td></td>用于定义表格中的单元格,必须嵌套在标签中。

4、字母td指表格数据(table data),即数据单元格内容。

    <table>
        <tr> <td>姓名</td> <td>性别</td> <td>年龄</td> </tr>
        <tr> <td>刘德华</td> <td>男</td> <td>56</td> </tr>
        <tr> <td>张学友</td> <td>男</td> <td>58</td> </tr>
        <tr> <td>郭富城</td> <td>男</td> <td>59</td> </tr>
    </table>

(三)表头单元格标签

一般表头单元格位于表格的第一行或第一列,表头单元格里面的文本内容加粗居中显示。

<th>标签表示HTML表格的表头部分(table head 的缩写)

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

表头单元格也是单元格,常用于表格第一行,突出重要性,表头单元格里面的文字会加粗居中显示。

(四)表格属性

表格标签这部分属性我们实际开发并不常用,一般是通过后面学习的CSS来设置的。

目的有两个:

1、记住这些英语单词,后面CSS会使用。

2、直观感受表格的外观形态。

属性名属性值描述
alignleft、center、right规定表格相对周围元素的对齐方式。
border1或“”规定表格单元是否拥有边框,默认为“”,表示没有边框。
cellpadding像素值规定单元边沿与其内容之间的空白,默认1像素。
cellspacing像素值规定单元格之间的空白,默认2像素值。
width像素值或百分比规定表格的宽度。
height像素值或百分比规定表格的高度。

这些属性要写到表格标签的table里面去。

    <table align="center" border="1" cellpadding="0" cellspacing="0" width="500" height="500">
        <tr> <th>姓名</th> <th>性别</th> <th>年龄</th> </tr>
        <tr> <td>刘德华</td> <td></td> <td>56</td> </tr>
        <tr> <td>张学友</td> <td></td> <td>58</td> </tr>
        <tr> <td>郭富城</td> <td></td> <td>59</td> </tr>
    </table>

(五)小说排行榜案例

制作一个如下的表格:

案例分析:

先制作表格的结构:

1、第一行里面是 th 表头单元格

2、第二行开始里面是 td 普通单元格

3、单元格里面可以放任何元素,文字链接图片都可以

后制作表格属性:

1、用到宽度高度边框cellpadding 和 cellspacing

2、表格浏览器中对齐 align

<!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>今日小说排行榜</title>
</head>
<body>
    <table align="center" width="500" height="249" border="1" cellspacing="0">
        <tr>
            <th>排名</th>
            <th>关键词</th>
            <th>趋势</th>
            <th>进入搜索</th>
            <th>最近七日</th>
            <th>相关链接</th>
        </tr>
        <tr>
            <td>1</td>
            <td>鬼吹灯</td>
            <td><img src="down.jpg"></td>
            <td>345</td>
            <td>123</td>
            <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>
        </tr>
        <tr>
            <td>2</td>
            <td>盗墓笔记</td>
            <td><img src="down.jpg"></td>
            <td>345</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>345</td>
            <td>123</td>
            <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>
        </tr>
        <tr>
            <td>4</td>
            <td>东游记</td>
            <td><img src="up.jpg"></td>
            <td>345</td>
            <td>123</td>
            <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>
        </tr>
        <tr>
            <td>5</td>
            <td>甄嬛传</td>
            <td><img src="down.jpg"></td>
            <td>345</td>
            <td>253</td>
            <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>
        </tr>
        <tr>
            <td>6</td>
            <td>水浒传</td>
            <td><img src="up.jpg"></td>
            <td>375</td>
            <td>173</td>
            <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>
        </tr>
        <tr>
            <td>7</td>
            <td>三国演义</td>
            <td><img src="up.jpg"></td>
            <td>895</td>
            <td>114</td>
            <td><a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a></td>
        </tr>
    </table>
</body>
</html>

(六)表格结构标签

使用场景:因为表格可能很长,为了更好的表示表格的语义,可以将表格分割为表格头和表格主体两大部分。

在表格标签中,分别用:<thead>标签 表格的头部区域、<tbody>标签 表格的主体区域 这样可以更好的分清表格结构。

<th> 是表头单元格,是一个单元格;<thead> 是表头区域,包括所有的表头单元格。

1、<thead></thead>:用于定义表格的头部。 内部必须拥有标签。一般是位于第一行。

2、<tbody></body>:用于定义表格的主体,主要用于放数据本体。

3、以上两个标签都是放在<table></table>标签之中的。

(七)合并单元格

特殊情况下,可以把多个单元格合并为一个单元格,这里学会最简单的单元格即可。

1、合并单元格方式

(1)跨行合并:rowsapn=“合并单元格的个数”

(2)跨列合并:colspan=“合并单元格的个数”

2、目标单元格

(1)跨行:最上侧单元格为目标单元格,写合并代码

(2)跨列:最左侧单元格为目标单元格,写合并代码

3、合并单元格的步骤

(1)先确定是跨行还是跨列合并。

(2)找到目标单元格,写上合并方式=合并的单元格数量。比如:<td colspan="2"></td>

(3)删除多余的单元格。

<!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>合并单元格</title>
</head>
<body>
    <table cellspacing="0" border="1" height="300" width="500">
        <tr>
            <th></th>
            <th colspan="2"></th>
            <!-- <th></th> -->
        </tr>
        <tr>
            <td></td>
            <td rowspan="2"></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <!-- <td></td> -->
            <td></td>
        </tr>
    </table>
</body>
</html>

二、列表标签

表格是用来显示数据的,那么列表就是用来布局的。

列表最大的特点就是整齐、整洁、有序,它作为布局会更加自由和方便。

根据使用情景的不同,列表可以分为三大类:无序列表、有序列表和自定义列表。

无序列表有序列表自定义列表

 (一)无序列表(重点)

    标签表示 HTML 页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用
  • 标签定义。

    无序列表的语法如下:

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

    1、无序列表之间是没有顺序级别之分,是并列的。

    2、<ul></ul> 中只能嵌套 <li></li> ,直接在<ul></ul> 标签中输入其他标签或者文字的做法是不被允许的。

    3、<li></li> 之间相当于一个容器,可以容纳所有元素。

    4、无序列表会带有自己的样式属性,但在实际使用时,我们会使用CSS来设置。

    (二)有序列表(理解)

    有序列表即有排序的列表,其各个列表项会按照一定的顺序排序定义。

    在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来设置。

    (三)自定义列表(重点)

    自定义列表的使用场景:

    自定义列表常用于对术语或名词进行解释和描述,定义列表的列表项前没有任何项目符号。

    在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>

    (四)列表总结

    标签名定义说明
    <ul></ul>无序标签里面只能包含li 没有顺序,使用较多。li里面可以包含任务标签
    <ol></ol>有序标签里面只能包含li 有顺序,使用相对较少。li 里面可以包含任何标签
    <dl></dl>自定义列表里面只能包含 dt 和 dd 。dt 和 dd里面可以放任何标签

    注意:

    1、学会什么时候用无序列表,什么时候用自定义列表

    2、无序列表和自定义列表代码怎么写?

    3、列表布局在学习完CSS后再来完成。

    三、表单标签

    网页中的表单展示

    (一)为什么需要表单

    使用表单是为了收集用户信息。

    在我们的网页中,我们也需要跟用户进行交互,收集资料,此时就需要表单。

    (二)表单的组成

    在HTML中,一个完整的表单通常由表单域、表单控件(也称为表单元素)和提示信息3个部分组成。

    (三)表单域

    表单域是一个包含表单元素的区域。

    在HTML标签中,<form>标签用于定义表单域,以实现用户信息的收集和传递。

    <form>会把它范围内的表单元素信息提交给服务器。

        <form action="url地址" method="提交方式" name="表单域名称">
            各种表单元素控件
        </form>
    

    常用属性

    属性属性值作用
    actionURL地址用于指定接收并处理表单数据的服务器程序的URL地址
    methodget/post用于设置表单数据的提交方式,其取值为get或者post
    name名称用于指定表单的名称,以区分同一个页面中的多个表单域
        <form action="demo.php" method="POST" name="name1">
            各种表单元素控件
        </form>
    

    基础班,不学习表单域提交。

    (四)表单控件(表单元素)

    在表单域中可以定义各种表单元素,这些表单元素就是允许用户在表单中输入或者选择的内容控件。

    1、input输入表单元素

    在英文单词中,input是输入的意思,而在表单元素中<input>标签用于收集用户信息。

    <input>标签中,包含一个type属性,根据不同的type属性值,输入字段拥有很多种形式(可以是文本字段、复选框、掩码后的文本控件、单选按钮、按钮等).

    <input type="属性值"/>
    
    • 标签为单标签
    • type属性设置不同的属性值用来指定不同的空间类型

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

    属性值描述
    button定义可点击按钮(多数情况下,用于通过JavaScript启动脚本)。
    checkbox定义复选框
    file定义输入字段和“浏览”按钮,供文件上传。
    hidden定义隐藏的输入字段
    image定义图像形式的提交按钮
    password定义密码字段。该字段中的字符被掩码。
    radio定义单选按钮。
    reset定义重置按钮。重置按钮会清楚表单中的所有数据。
    submit定义提交按钮。提交按钮会把表单数据发送到服务器。
    text定义单行的输入字段,用户可在其中输入文本。默认宽度为20个字符。
        <form action="demo.php" method="POST" name="name1">
            <!-- text 文本框 用户可以在里面输入任何文字 -->
            用户名:<input type="text"><br>
            <!-- password 密码框 用户看不见输入的密码 -->
            密码:<input type="password"><br>
            <!-- radio 单选按钮 可以实现多选一 -->
            性别:男<input type="radio"><input type="radio"><br>
            <!-- checkbox 多选框 可以实现多选 -->
            爱好:吃饭<input type="checkbox"> 睡觉<input type="checkbox"> 打豆豆<input type="checkbox">
        </form>
    

    除type属性外,<input> 标签还有其他很多属性,其常用属性如下:

    属性属性值描述
    name由用户自定义定义input元素的名称
    value由用户自定义规定input元素的值
    checkchecked规定此input元素首次加载时应当被选中
    maxlength正整数规定输入字段中的字符的最大长度

    单选框radio只有加上name属性才能实现单选,如下:

        <form action="demo.php" method="POST" name="name1">
            <!-- text 文本框 用户可以在里面输入任何文字 -->
            用户名:<input type="text" name="username"><br>
            <!-- password 密码框 用户看不见输入的密码 -->
            密码:<input type="password" name="pwd"><br>
            <!-- radio 单选按钮 可以实现多选一 -->
            <!-- name 是表单元素的名字 这里性别单选按钮必须有相同的名字name 才可以实现多选一 -->
            性别:男<input type="radio" name="sex"><input type="radio" name="sex"><br>
            <!-- checkbox 多选框 可以实现多选 -->
            爱好:吃饭<input type="checkbox" name="hobby"> 睡觉<input type="checkbox" name="hobby"> 打豆豆<input type="checkbox" name="hobby">
            
        </form>
    

    value用法

        <form action="demo.php" method="POST" name="name1">
            <!-- text 文本框 用户可以在里面输入任何文字 -->
            用户名:<input type="text" name="username" value="请输入用户名"><br>
            <!-- password 密码框 用户看不见输入的密码 -->
            密码:<input type="password" name="pwd"><br>
            <!-- radio 单选按钮 可以实现多选一 -->
            <!-- name 是表单元素的名字 这里性别单选按钮必须有相同的名字name 才可以实现多选一 -->
            性别:男<input type="radio" name="sex" value="男"><input type="radio" name="sex" value="女"><br>
            <!-- checkbox 多选框 可以实现多选 -->
            爱好:吃饭<input type="checkbox" name="hobby" value="吃饭"> 睡觉<input type="checkbox" name="hobby" value="睡觉"> 打豆豆<input type="checkbox" name="hobby" value="打豆豆">
            
        </form>
    

    (1)name和value是每个表单元素都有的属性值,主要给后台人员使用。

    (2)name 表单元素的名字,要求 单选框和复选框都要有相同的name值

    (3)checked属性主要针对于单选按钮和复选框,主要作用一打开页面,就可以默认选中某个表单元素。

    (4)maxlength是用户可以在表单元素输入的最大字符数,一般较少使用。

    submit、reset、button、file 属性的使用

            <!-- 点击了提交按钮,可以把 表单域 form 里面的表单元素 里面的值 提交给后台服务器 -->
            <input type="submit" value="免费注册">
            <!-- 重置按钮可以还原表单元素初始的默认状态 -->
            <input type="reset" value="重新填写">
            <!-- 后期结合JS搭配使用 -->
            <input type="button" value="获取短信验证码">
            <!-- 文件域 使用场景 上传文件使用的 -->
            上传头像:<input type="file">
    

    2、<label>标签

    <label>标签为input元素定义标注(标签)。

    <label>标签用于绑定一个表单元素,当点击<label>标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,用来增加用户体验。

    语法

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

     核心:<label>标签的for属性应当与相关元素的id属性相同。

        <label for="text">用户名:</label> <input type="text" id="text"><br>
        <label for="man">男</label>
        <input type="radio" name="sex" id="man"/>
        <label for="woman">女</label>
        <input type="radio" name="sex" id="woman"/>
    

    3、select下拉表单元素

    使用场景:在页面中,如果有多个选项让用户选择,并且想要节约页面空间时,我们可以使用<select>标签控件定义下拉列表。

    语法

        <select>
            <option>选项</option>
            <option>选项</option>
            <option>选项</option>
            ...
        </select>
    

    (1)<select> 中至少包含一对 <option>.

    (2)在<option> 中定义 select = "selected" 时,当前项即为默认选中项。即为:<option selected="selected">吉林</option>

        <form action="">
        籍贯:
        <select>
            <option>河北</option>
            <option>黑龙江</option>
            <option selected="selected">吉林</option>
            <option>辽宁</option>
            <option>北京</option>
            <option>天津</option>
            <option>山西</option>
            <option>山东</option>
        </select>
        </form>
    

    4、textarea文本域元素

    使用场景:当用户输入内容较多的情况下,我们就不能使用文本框表单了,此时我们可以使用 <textarea> 标签。

    在表单元素中,<textarea> 标签是用于定义多行文本输入的控件。

    使用多行文本输入控件,可以输入更多的文字,该控件常见于留言板,评论。

        <form>
            今日反馈:
            <textarea>
                反馈留言
            </textarea>
        </form>
    

    1、通过 <textarea> 标签可以轻松地创建多行文本输入框。

    2、cols= “每行中的字符数” ,rows=“显示的行数”,我们在实际开发中不会使用。都是用CSS来改变大小。

    <textarea cols="50" rows="5">反馈留言</textarea>

    四、综合案例

    综合案例主要练习以上所学标签:

    1、表格标签

    2、列表标签

    3、表单标签

    <!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>综合案例</title>
    </head>
    <body>
        <h1>青春不常在,抓紧谈恋爱</h1>
        <form action="1.php" name="注册信息">
            <table width="600" height="600" align="center">
                <!-- 第一行 -->
                <tr>
                     <td>性别</td>
                     <td>      
                         <input type="radio" name="sex" id="nan" checked="checked"><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>1995</option>
                            <option>1996</option>
                            <option>1997</option>
                            <option>1998</option>
                            <option>1999</option>
                            <option>2000</option>
                            <option>2001</option>
                            <option>2002</option>
                            <option selected="selected">--请选择年--</option>
                        </select> 
                        <select>
                            <option>1</option>
                            <option>2</option>
                            <option>3</option>
                            <option>4</option>
                            <option>5</option>
                            <option>6</option>
                            <option>7</option>
                            <option>8</option>
                            <option>9</option>
                            <option>10</option>
                            <option>11</option>
                            <option>12</option>
                            <option selected="selected">--请选择月--</option>
                        </select> 
                        <select>
                            <option>1</option><option>2</option><option>3</option><option>4</option><option>5</option><option>6</option><option>7</option><option>8</option><option>9</option><option>10</option><option>11</option><option>12</option><option>13</option><option>14</option><option>15</option><option>16</option><option>17</option><option>18</option><option>19</option><option>20</option><option>21</option><option>22</option><option>23</option><option>24</option>
                            <option selected="selected">--请选择日--</option>
                        </select> 
                    </td>
                </tr>
    <!-- 第三行 -->
                <tr>
                    <td>所在地区</td>
                    <td>
                    <input type="text" name="area" value="北京朝阳区">
                    </td>
                </tr>
    <!-- 第四行 -->
                <tr>
                    <td>婚姻状况</td>
                    <td>
                    <input type="radio" name="hunyinzhuangkuang" checked="checked" id="weihun"><label for="weihun">未婚</label>
                    <input type="radio" name="hunyinzhuangkuang"  id="yihun"><label for="yihun">已婚</label> 
                    <input type="radio" name="hunyinzhuangkuang" id="lihun"><label for="lihun">离婚</label> 
                    </td>
                </td>
    <!-- 第五行 -->
                <tr>
                    <td>学历</td>
                    <td>
                        <input type="text" value="幼儿园">
                    </td>
                </tr>
    <!-- 第六行 -->
                <tr>
                    <td>喜欢的类型</td>
                    <td>
                        <input type="checkbox" name="hobby" id="wumei"><label for="wumei">妩媚的</label>&nbsp;
                        <input type="checkbox" name="hobby" id="keai"><label for="keai">可爱的</label>&nbsp;
                        <input type="checkbox" name="hobby" id="xiaoxianrou"><label for="xiaoxianrou">小鲜肉</label>&nbsp;
                        <input type="checkbox" name="hobby" id="laolarou"><label for="laolarou">老腊肉</label>&nbsp;
                        <input type="checkbox" name="hobby" id="douxihuan"><label for="douxihuan">都喜欢</label>&nbsp;
                    </td>
                </tr>
    <!-- 第七行 -->
                <tr>
                    <td>自我介绍</td>
                    <td>
                        <textarea cols="50" rows="5">自我介绍</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>
                        <h3>我承诺</h3>
                        <ul>
                            <li>年满18岁,单身</li>
                            <li>抱着严肃的态度</li>
                            <li>真诚寻找另一半</li>
                        </ul>
                    </td>
                </tr>
    
            </table>
        </form>
    </body>
    </html>
    

    五、查阅文档

    经常查阅文档是一个非常好的习惯。

    推荐查询的网站: