Skip to content

1.表格

1.1 表格的作用

  1. 表格主要是用于显示、展示数据,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据的时候,能够熟练运用表格就显得重要。
  2. 表格不是用来布局页面的而是用来展示数据的。

表格具体用法:

  1. <table></table>是用于定义表格的标签
  2. <tr></tr>标签用于定义表格中的行,必须嵌套在<table></table>标签中
  3. <td></td>用于定义表格中的单元格,必须嵌套在<tr></tr>标签中
  4. 字母td指表格数据(table data),即数据单元格的内容。
html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <table>
        <tr>
            <td>姓名</td>
            <td>年龄</td>
            <td>性别</td>
        </tr>
        <tr>
            <td>库里</td>
            <td>38</td>
            <td>男</td>
        </tr>
        <tr>
            <td>詹姆斯</td>
            <td>41</td>
            <td>男</td>
        </tr>
        <tr>
            <td>杜兰特</td>
            <td>37</td>
            <td>男</td>
        </tr>
    </table>
</body>
</html>

img_7.png

1.2 表头单元格

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

表头标签的具体实现:

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

一般表头单元格位于表格的第一行或第一列,表头单元格里面的文本内容加粗居中显示. <th> 标签表示 HTML 表格的表头部分(table head 的缩写)

html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <table>
        <tr>
            <th>姓名</th>
            <th>年龄</th>
            <th>性别</th>
        </tr>
        <tr>
            <td>库里</td>
            <td>38</td>
            <td>男</td>
        </tr>
        <tr>
            <td>詹姆斯</td>
            <td>41</td>
            <td>男</td>
        </tr>
        <tr>
            <td>杜兰特</td>
            <td>37</td>
            <td>男</td>
        </tr>
    </table>
</body>
</html>

img_8.png

1.3 表格属性

表格标签这部分属性我们实际开发我们不常用,后面通过 CSS 来设置,了解即可,记住相关单词。

属性名值类型描述
border像素值设置表格边框的宽度
width像素/百分比设置表格的宽度
height像素/百分比设置表格的高度
cellspacing像素值设置单元格之间的空白距离
cellpadding像素值设置单元格内容与边框之间的空白距离
alignleft/center/right设置表格在页面中的水平对齐方式
bgcolor颜色值设置表格的背景颜色
bordercolor颜色值设置表格边框的颜色
framevoid/above/below/hsides/lhs/rhs/vsides/box/border控制表格外边框的显示部分
rulesnone/groups/rows/cols/all控制表格内边框的显示方式
html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <table align="center" border="1" cellspacing="40" cellpadding="50" bgcolor="#800080" bordercolor="#0000FF">
        <tr>
            <th>姓名</t>
            <th>年龄</th>
            <th>性别</t>
        </tr>
        <tr>
            <td>库里</td>
            <td>38</td>
            <td>男</td>
        </tr>
        <tr>
            <td>詹姆斯</td>
            <td>41</td>
            <td>男</td>
        </tr>
        <tr>
            <td>杜兰特</td>
            <td>37</td>
            <td>男</td>
        </tr>
</body>
</html>

img_9.png

1.4 综合案例

完成如图表格 img10.png

实现思路:

  1. 第一行里面是th表头单元格
  2. 第二行开始里面是td普通单元格单元格里面可以放任何元素
  3. 文字链接图片等都可以
  4. 用到宽度高度边框cellpaddingcellspacing
  5. 表格浏览器中对齐align
html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <table border="1" align="center" 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="up.jpg"/>
            </td>
            <td>
                256
            </td>
            <td>
                145
            </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>
                655
            </td>
            <td>
                433
            </td>
            <td>
                <a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a>
            </td>
        </tr>
        <tr>
            <td>
                3
            </td>
            <td>
                西游记
            </td>
            <td>
                <img src="down.jpg"/>
            </td>
            <td>
                555
            </td>
            <td>
                777
            </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>
                4
            </td>
            <td>
                657
            </td>
            <td>
                <a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a>
            </td>
        </tr>


    </table>
</body>
</html>

img_10.png

1.5 表格结构标签

因为表格可能很长,为了更好的表示表格的语义,可以将表格分割成表格头部和表格主体两大部分。
在表格标签中,分别用: <thead>标签 表格的头部区域 <tbody>标签表格的主体区域. 这样可以更好的分清表格结构。
img11.png

总结:

  1. <thead></thead>:用于定义表格的头部。<thead> 内部必须拥有 <tr> 标签。 一般是位于第一行。
  2. <tbody></tbody>:用于定义表格的主体,主要用于放数据本体 。
  3. 以上标签都是放在 <table></table> 标签中。

1.6 合并单元格

特殊情况下,可以把多个单元格合并为一个单元格。

合并单元格方式:

  1. 跨行合并: rowspan="合并单元格的个数" 最上侧单元格为目标单元格,写合并代码
  2. 跨列合并: colspan="合并单元格的个数" 最左侧单元格为目标单元格,写合并代码
  3. 合并方法: 先确定是跨行还是跨列合并。找到目标单元格. 写上合并方式 = 合并的单元格数量。 比如: <td colspan="2"></td>。删除多余的单元格。

实战案例:
完成如下的表格 img12.png

html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
<table border="1" align="center" cellspacing="0">
    <tr>
        <th colspan="5" align="center" bgcolor="#FFFF00">
            个人简历
        </th>
    </tr>

    <tr>
        <td width="100px">
            姓名:
        </td>
        <td width="100px">

        </td>
        <td width="100px">
            性别:
        </td>
        <td width="100px">

        </td>
        <td rowspan="4" width="100px" align="center">
            照片
        </td>
    </tr>

    <tr>
        <td>
            婚姻状况:
        </td>
        <td>

        </td>
        <td>
            出生年月:
        </td>
        <td>
        </td>
    </tr>
    <tr>
        <td>
            民族:
        </td>
        <td></td>
        <td>
            政治面貌:
        </td>
        <td>
        </td>
    </tr>
    <tr>
        <td>
            身高:
        </td>
        <td>

        </td>
        <td>
            学历:
        </td>
        <td>
        </td>
    </tr>
</table>
</body>
</html>

img_11.png

2.列表

表格是用来显示数据的,那么列表就是用来布局的。
列表最大的特点就是整齐、整洁、有序,它作为布局会更加自由和方便。
根据使用情景不同,列表可以分为三大类:无序列表、有序列表和自定义列表。

2.1 无序列表

img13.png<ul>标签表示HTML页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用<li>标签定义。无序列表的基本语法格式如下:

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

2.2 有序列表

img14.png 有序列表即为有排列顺序的列表,其各个列表项会按照一定的顺序排列定义。在HTML标签中,<ol>标签用于定义有序列表,列表排序以数字来显示,并且使用<li>标签来定义列表项。有序列表的基本语法格式如下:

html
<ol>   
    <li>列表项1</li>   
    <li>列表项2</li>   
    <li>列表项3</li>
</ol>

使用说明:

  1. <ol>中只能嵌套<li>
  2. <li></li>之间相当于一个容器,可以容纳所有元素。
  3. 有序列表会带有自己样式属性,但在实际使用时,我们会使用 CSS 来设置。

2.3 自定义列表

img15.png 自定义列表的使用场景:自定义列表常用于对术语或名词进行解释和描述,定义列表的列表项前没有任何项目符号。在 HTML 标签中,<dl> 标签用于定义描述列表(或定义列表),该标签会与 <dt>(定义项目/名字)和 <dd>(描述每一个项目/名字)一起使用。语法如下:

html
<dl>   
    <dt>名词1</dt>   
    <dd>名词1解释1</dd>   
    <dd>名词1解释2</dd> 
</dl>

2.4 列表总结

列表类型标签描述
无序列表<ul> <li>列表项无顺序,默认用项目符号显示
有序列表<ol> <li>列表项有顺序,默认用数字编号显示
自定义列表<dl> <dt> <dd>用于术语解释,<dt>定义术语,<dd>描述术语

3.表单

3.1 为什么需要表单

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

3.2 表单的组成

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

3.3 表单域

表单域是一个包含表单元素的区域。
在 HTML 标签中,<form>标签用于定义表单域,以实现用户信息的收集和传递。 <form>会把它范围内的表单元素信息提交给服务器。

代码示例:

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

3.4 表单常用属性

属性名值类型描述
actionURL地址指定表单提交的服务器地址
methodget/post设置表单数据的提交方式
name字符串指定表单的名称
target_blank/_self规定在何处打开action URL
enctype编码类型规定在发送表单数据之前如何对数据进行编码
autocompleteon/off是否启用表单的自动完成功能
novalidatenovalidate如果使用该属性,则提交表单时不进行验证

3.5 表单元素

3.5.1 input表单元素

在英文单词中,input 是输入的意思,而在表单元素中<input> 标签用于收集用户信息。在 <input> 标签中,包含一个 type 属性,根据不同的 type 属性值,输入字段拥有很多种形式(可以是文本字段、复选框、掩码后的文本控件、单选按钮、按钮等)。

html
<input type="属性值"  />

<input/> 标签为单标签 type 属性设置不同的属性值用来指定不同的控件类型
type 属性的属性值及其描述如下:

属性值描述
text定义单行文本输入字段
password定义密码字段
radio定义单选按钮
checkbox定义复选框
submit定义提交按钮
reset定义重置按钮
button定义可点击按钮(一般与js配合使用)
file定义文件上传控件
hidden定义隐藏输入字段
image定义图像形式的提交按钮
color定义颜色选择器
date定义日期选择器
datetime-local定义日期时间选择器
email定义电子邮件输入字段
month定义月份选择器
number定义数字输入字段
range定义滑块控件
search定义搜索字段
tel定义电话号码输入字段
time定义时间选择器
week定义周选择器
html
    文本框:<input type="text"/><br/>
    密码框:<input type="password"/><br/>
    单选框:男<input type="radio" name="sex"/> 女<input type="radio" name="sex"/> <br/>
    复选框:吃饭<input type="checkbox" name="hobby"/> 睡觉<input type="checkbox" name="hobby"/> 玩<input type="checkbox" name="hobby"/><br/>
    提交按钮:<input type="submit"/><br/>
    重置按钮:<input type="reset"/><br/>
    普通按钮:<input type="button" value="普通按钮"/><br/>
    文件上传按钮:<input type="file"/><br>
    隐藏字段:<input type="hidden"/><br>
    图片形式按钮:<input type="image" src="up.jpg"/><br>
    颜色选择器:<input type="color"/><br>
    日期选择器:<input type="date"/><br>
    日期时间选择器:<input type="datetime-local"/><br>
    电子邮件:<input type="email"/><br>
    月份选择器:<input type="month"/><br>
    数字:<input type="number"/><br>
    滑块控件:<input type="range"/><br>
    搜索控件:<input type="search"/><br>
    电话号码:<input type="tel"/><br>
    时间选择器:<input type="time"/><br>
    周选择器:<input type="week"/><br>

img_13.png

<input/> 标签的其他属性如下:

属性名值类型描述
name字符串定义input元素的名称
value字符串定义input元素的值
checkedchecked规定此input元素首次加载时应当被选中(用于单选按钮和复选框)
maxlength数字规定输入字段中的字符的最大长度
size数字定义输入字段的宽度(以字符计)
srcURL定义以图像形式提交按钮的图像的URL
alt字符串定义图像输入控件的替代文本
readonlyreadonly规定输入字段为只读
disableddisabled禁用input元素
autofocusautofocus规定页面加载时input元素应该自动获得焦点
requiredrequired规定必须在提交表单之前填写输入字段
pattern正则表达式规定用于验证输入字段的模式
min数字/日期规定输入字段的最小值
max数字/日期规定输入字段的最大值
step数字规定输入字段的合法数字间隔
multiplemultiple允许用户输入多个值(用于文件上传和email输入类型)

3.5.2 label标签

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

使用方式:

html
<label for="name">用户名:</label><input type="text" id="name">
<input type="radio" id="nan"></input><label for="nan">男</label>

注意事项:
<label> 标签的 for 属性应当与相关元素的 id 属性相同。

3.5.3 select表单元素

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

使用方式:

html
<select>
    <option>北京</option>
    <option>天津</option>
    <option>河北</option>
    <option>河南</option>
</select>

img_14.png

3.5.4 textarea表单元素

当用户输入内容较多的情况下,我们就不能使用文本框表单了,此时我们可以使用 <textarea> 标签。
在表单元素中,<textarea> 标签是用于定义多行文本输入的控件。
使用多行文本输入控件,可以输入更多的文字,该控件常见于留言板,评论。

使用方式:

html
文本控件:<textarea rows="3" cols="20">文本内容</textarea>

通过 <textarea> 标签可以轻松地创建多行文本输入框。cols=“每行中的字符数” ,rows=“显示的行数”, 我们在实际开发中不会使用,都是用 CSS 来改变大小。
img_15.png

4.综合案例

使用所学知识完成一个注册表单

实战案例:

html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h2>注册表单</h2>
    <form>
        <table>
            <tr>
                <td>性别:</td>
                <td><input type="radio" name="sex" id="nan"><label for="nan">男</label> <input type="radio" name="sex">女</td>
            </tr>
            <tr>
                <td>生日:</td>
                <td><input type="date"></td>
            </tr>
            <tr>
                <td>所在地区:</td>
                <td><input type="text"></td>
            </tr>
            <tr>
                <td>婚姻状态:</td>
                <td><input type="radio" name="status">已婚 <input type="radio" name="status">未婚 <input type="radio" name="status">离异</td>
            </tr>
            <tr>
                <td>学历:</td>
                <td>
                    <select>
                        <option>初中</option>
                        <option>高中</option>
                        <option>大学</option>
                    </select>
                </td>
            </tr>
            <tr>
                <td>喜欢的类型:</td>
                <td><input type="checkbox" name="type">美丽的 <input type="checkbox" name="type">大方的 <input type="checkbox" name="type">实在的</td>
            </tr>
            <tr>
                <td>自我介绍:</td>
                <td><textarea></textarea></td>
            </tr>
            <tr>
                <td rowspan="2"><input type="button" value="免费注册"> </td>
            </tr>
            <tr>
                <td rowspan="2"><input type="checkbox" checked="checked"> 我同意注册条款和会员加入标准</td>
            </tr>
        </table>
    </form>
    <h4>我承诺</h4>
    <ul>
        <li>年满18岁</li>
        <li>抱着严肃的态度</li>
        <li>认真找对象</li>
    </ul>
</body>
</html>

案例演示

Released under the MIT License.