⑧HTML+CSS 表格和表单的基本设置


本人是个新手,写下博客用于自我复习、自我总结。
如有错误之处,请各位大佬指出。
学习资料来源于:尚硅谷


表格

• 在Web的历史中,HTML的表格发挥了极大的作用。最初创建表格就是为了以表格的形式显示数据,后来表格变成了一个极受欢迎的布局工具。
• 但是有了CSS以后,CSS在布局网页方面实际上会更出色,所以现在我们使用表格的作用只有一个,就是用来表示格式化的数据
• HTML中的表格可以很复杂,但是通常情况下我们不需要创建过于复杂的表格。


table、tr、th、td标签

• 使用table标签创建一个表格。
tr表示表格中的一行。
• tr中可以编写一个或多个th或td。
th表示表头。
td表示表格中的一个单元格。


caption、thead、tbody、tfoot标签 ※

caption表示表格的标题。
thead表示表格的头部。
tbody表示表格的主体。
tfoot表示表格的底部。

例:

<!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 border="2" width='50%' align="center">
        <!-- 
            可以将一个表格分成三个部分:
                头部 thead
                主体 tbody
                底部 tfoot
                th 表示头部的单元格
         -->
        <thead>
            <tr>
                <th>日期</th>
                <th>收入</th>
                <th>支出</th>
                <th>合计</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>2000.1.1</td>
                <td>500</td>
                <td>200</td>
                <td>300</td>
            </tr>
            <tr>
                <td>2000.1.1</td>
                <td>500</td>
                <td>200</td>
                <td>300</td>
            </tr>
            <tr>
                <td>2000.1.1</td>
                <td>500</td>
                <td>200</td>
                <td>300</td>
            </tr>
            <tr>
                <td>2000.1.1</td>
                <td>500</td>
                <td>200</td>
                <td>300</td>
            </tr>
        </tbody>
        <tfoot>
            <tr>
                <td></td>
                <td></td>
                <td>合计</td>
                <td>1200</td>
            </tr>
        </tfoot>
    </table>
</body>
</html>

效果图:
在这里插入图片描述


合并单元格 ※

• 合并单元格指将两个或两个以上的单元格合并为一个单元格。
• 合并单元格可以通过在th或td中设置属性来完成。
• 横向合并 colspan
• 纵向合并 rowspan

例:

<!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标签来创建一个表格
     -->
    <table border="1" width='50%' align="center">
        <!-- 在table中使用tr表示表格中的一行,有几个tr就有几行 -->
        <tr>
            <!-- 在tr中使用td表示一个单元格,有几个td就有几个单元格 -->
            <td>A1</td>
            <td>B1</td>
            <td>C1</td>
            <td>D1</td>
        </tr>
        <tr>
            <td>A2</td>
            <td>B2</td>
            <td>C2</td>
            <!-- rowspan 纵向的合并单元格 -->
            <td rowspan="2">D2</td>
        </tr>
        <tr>
            <td>A3</td>
            <td>B3</td>
            <td>C3</td>
        </tr>
        <tr>
            <td>A4</td>
            <td>B4</td>
            <!-- 
                colspan 横向的合并单元格
             -->
            <td colspan="2">C4</td>
        </tr>
    </table>
</body>
</html>

效果图:
在这里插入图片描述


表格的样式 ※

• 之前学习的很多属性都可以用来设置表格的样式,比如color可以用来设置文本的颜色。padding可以设置内容和表格边框的距离。
text-align:设置文本的水平对齐。
vertical-align:设置文本的垂直对齐。
– 可选值:top、baseline、middle、bottom
border-spacing:边框间距
border-collapse:合并边框
– collapse:合并边框
– separate:不合并边框

例:

<!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>
    <style>
        table{
            width: 50%;
            border: 1px solid black;
            margin: 0 auto;

            /* border-spacing: 指定边框之间的距离 */
            /* border-spacing: 0px; */

            /* border-collapse: collapse; 设置边框的合并 */
            border-collapse: collapse;
        }

        td{
            border: 1px solid black;
            height: 100px;
            /* 默认情况下元素在td中是垂直居中的 可以通过 vertical-align 来修改*/
            vertical-align:middle;
            text-align: center; 
        }

        /* 
                如果表格中没有使用tbody而是直接使用tr,
                那么浏览器会自动创建一个tbody,并且将tr全都放到tbody中
                tr不是table的子元素
         */
        tbody > tr:nth-child(odd){
            background-color: #bfa;
        }
    </style>
</head>

<body>
    <table>
        <tr>
            <td>学号</td>
            <td>姓名</td>
            <td>性别</td>
            <td>年龄</td>
            <td>地址</td>
        </tr>
        <tr>
            <td>1</td>
            <td>孙悟空</td>
            <td></td>
            <td>18</td>
            <td>花果山</td>
        </tr>
        <tr>
            <td>2</td>
            <td>猪八戒</td>
            <td></td>
            <td>28</td>
            <td>高老庄</td>
        </tr>
        <tr>
            <td>3</td>
            <td>沙和尚</td>
            <td></td>
            <td>38</td>
            <td>流沙河</td>
        </tr>
        <tr>
            <td>4</td>
            <td>唐僧</td>
            <td></td>
            <td>16</td>
            <td>女儿国</td>
        </tr>
        <tr>
                <td>1</td>
                <td>孙悟空</td>
                <td></td>
                <td>18</td>
                <td>花果山</td>
            </tr>
            <tr>
                <td>2</td>
                <td>猪八戒</td>
                <td></td>
                <td>28</td>
                <td>高老庄</td>
            </tr>
            <tr>
                <td>3</td>
                <td>沙和尚</td>
                <td></td>
                <td>38</td>
                <td>流沙河</td>
            </tr>
            <tr>
                <td>4</td>
                <td>唐僧</td>
                <td></td>
                <td>16</td>
                <td>女儿国</td>
            </tr>
            <tr>
                    <td>1</td>
                    <td>孙悟空</td>
                    <td></td>
                    <td>18</td>
                    <td>花果山</td>
                </tr>
                <tr>
                    <td>2</td>
                    <td>猪八戒</td>
                    <td></td>
                    <td>28</td>
                    <td>高老庄</td>
                </tr>
                <tr>
                    <td>3</td>
                    <td>沙和尚</td>
                    <td></td>
                    <td>38</td>
                    <td>流沙河</td>
                </tr>
                <tr>
                    <td>4</td>
                    <td>唐僧</td>
                    <td></td>
                    <td>16</td>
                    <td>女儿国</td>
                </tr>
    </table>
</body>

</html>

效果图:
在这里插入图片描述


表单 ※

• 现实生活中的表单是用来提交信息的,比如:办理银行卡填写的申请表、找工作填
写的简历、入学时填写的个人信息表。这些都是表单的一种。
• 网页中的表单是用来向服务器提交信息的,我们最常用到的表单就是baidu的搜索框在这里插入图片描述
• 表单可以将用户填写的信息提交的服务器
在这里插入图片描述

表单项 ※

在这里插入图片描述


input ※

input是我们使用的最多的表单项,它可以根据不同的type属性呈现不同的状态。
• type属性可选值:
– text:文本框
– password:密码框
– submit:提交按钮
– radio:单选按钮
– checkbox:多选框
– reset :重置按钮


select、option

select用于创建一个下拉列表。
option表示下拉列表中的列表项。
optgroup用于为列表项分组。


textarea

textarea用来创建一个文本域,实际效果和文本框类似,只是可以输入多行数据。
• 可用属性:
– cols:文本域的列数
– rows:文本域的行数


fieldset、legend、label

fieldset用来为表单项进行分组。
legend用于指定每组的名字。
label标签用来为表单项定义描述文字。


例 ※

<!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>target</title>
</head>
<body>
    <h1>您的数据已经收到!</h1>
</body>
</html>
<!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>
    <!-- 
        表单:
            - 在现实生活中表单用于提交数据
            - 在网页中也可以使用表单,网页中的表单用于将本地的数据提交给远程的服务器
            - 使用form标签来创建一个表单
     -->
    <!-- 
        form的属性
            action 表单要提交的服务器的地址
     -->
    <form action="target.html">
        <!--文本框
           	注意:数据要提交到服务器中,必须要为元素指定一个name属性值
        -->
        文本框 <input type="text" name="username">
        <br><br>
        <!--密码框-->
        密码框 <input type="password" name="password">
        <br><br>

        <!--单选按钮
                - 像这种选择框,必须要指定一个value属性,value属性最终会作为用户的填写的值传递给服务器
                - checked 可以将单选按钮设置为默认选中
           -->
        单选按钮 <input type="radio" name="hello" value="a">
        <input type="radio" name="hello" value="b" checked>
        <br><br>

        <!--多选框 -->
        多选框 <input type="checkbox" name="test" value="1">
        <input type="checkbox" name="test" value="2">
        <input type="checkbox" name="test" value="3" checked>

        <br><br>

        <!-- 下拉列表 -->
        <select name="haha">
            <option value="i">选项一</option>
            <option selected value="ii">选项二</option>
            <option value="iii">选项三</option>
        </select>

        <br><br>
        <!--提交按钮-->
        <input type="submit" value="注册">
    </form>
</body>
</html>

效果图:
在这里插入图片描述
在这里插入图片描述


<!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>
    <form action="target.html">
	<!-- 
    autocomplete="off" 关闭自动补全
    readonly 将表单项设置为只读,数据会提交
    disabled 将表单项设置为禁用,数据不会提交
    autofocus 设置表单项自动获取焦点
 	-->
        <input type="text" name="username" value="hello" readonly>
        <br><br>
        <input type="text" name="username" autofocus>
        <br><br>
        <input type="text" name="b">

        <br><br>

        <input type="submit">
        <!-- 重置按钮 -->
        <input type="reset">
        <!-- 普通的按钮 -->
        <input type="button" value="按钮">

        <br><br>
        
        <button type="submit">提交</button>
        <button type="reset">重置</button>
        <button type="button">按钮</button>
    </form>
</body>
</html>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只爭朝夕不負韶華

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值