Day08-网页布局实战表单和表格

news2024/9/24 17:14:43

文章目录

  • 网页布局实战
    • 一 表单
      • 案例1-表单前后端交互
      • 案例2-常用表单元素
      • 知识点
        • input的属性总结:
        • type属性的其他值(了解):
        • 按钮
        • label标签
    • 二 结构伪类选择器
    • 三 表单布局案例
      • 案例1贯穿案例-登录页面制作
      • 案例2贯穿案例-注册页面制作
    • 四 表格
      • 案例1-表格设计
      • 案例2-表格样式

网页布局实战

一 表单

案例1-表单前后端交互

<!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>Document</title>
</head>
<body>
    <!-- 
        表单form
            作用:用来收集用户输入的数据,并发数据发送到服务器
                数据的发送是键值对形式
            action:填写后端服务器地址
            method:填写数据的提交方式(get/post)
                get:数据封装在浏览器地址栏上
                    安全性低
                post:数据封装在浏览器的请求体里面
                    安全性高
        表单元素
            文本输入框
            密码输入框

            提交按钮
     -->
     <form action="填写后端服务器地址" method="post">
        账号<input type="text" name="username"><br>
        密码<input type="password" name="password"><br>

        <button type="submit">登录</button>
     </form>
</body>
</html>

案例2-常用表单元素

image-20221227143614074

image-20221227143839525

    <h1>用户注册</h1>
    <form action="" method="">
        账号<input type="text" name="username"><br>
        密码<input type="password" name="password"><br>
        性别<input type="radio" name="sex" value="man"><input type="radio" name="sex" value="women"><br>
        爱好<input type="checkbox" name="hobby" value="lanqiu">篮球<input type="checkbox" name="hobby" value="zuqiu">足球<br>
        籍贯
            <select name="address">
                <option value="hb">湖北</option>
                <option value="hn">湖南</option>
            </select><br>
        备注<textarea name="remark"></textarea><br>
        图像<input type="file" name="img"><br>
        <button type="submit">注册</button>
        <button type="reset">重置</button>
    </form>

知识点

input的属性总结:

属性名解释
typetext/ password/ radio/checkbox/file输入框类型
name自定义有name的标签数据才会提交到后台,单选与多选的分组
value自定义
placeholder自定义输入框的提示文字
maxlength自定义设置文本框最多输入多少字符
readonlyreadonly只读
disableddisabled禁用
checkedchecked选中,仅用于 radio/checkbox

type属性的其他值(了解):

​ hidden:隐藏域(在用户不知情的情况下,传一些有用的数据)
date:日期选择框
datatime-local:日期和时间选择框
week: (你选中的日期是)一年中的第几周
month: 年和月的选择框
number: 数字输入框(在移动端输入时默认就打开数字键盘)
tel: 电话输入框(可以限制输入的个数,在移动端输入时默认就打开数字键盘)
color: 颜色选择框
time: 时间选择框(只有时间,没有年月日)
email: 邮箱输入框(会自动在提交表单时,给邮箱做验证)
range: 进度条滑块(可以用来控制 音量、音视频的进度条)
search: 搜索输入框 (会加上一个关闭按钮 X)
url:网址输入框(必须由http:// https:// 开头才可以通过提交)

按钮

<button type="button">普通</button>
<button type="submit">提交</button>
<button type="reset">重置</button>

普通按钮点击后不会有页面触发效果,以后会用javascript进行交互

提交按钮,点击后,将选中的内容,提交给服务器。action后面写服务器地址

重置按钮,点击后,在不刷新网页的情况,将表单元素清空

按钮在使用一定注意增加type属性,指定什么类型按钮,否定默认提交按钮

label标签

可以给表单元素的描述文本增加html结构方便做样式,可以使用户点击输入框旁边的文本时,激活输入框

image-20230228145311309

<!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>Document</title>
</head>
<body>
    <form action="">
        <label for="uname">账号</label> <input type="text" id="uname"><br>
        <button type="submit">登录</button>
    </form>
</body>
</html>

二 结构伪类选择器

场景:在家具网站中,商品列表排列,每个元素都有一个margin-right。但是一行最后一个盒子不想要margin-right。需要选中每一行最后一个元素。可以使用结构选择器来实现

:first-child:选中指定元素中的第一个元素
:last-child:选中指定元素中的最后一个
:nth-child(n):可以指定选中某一个元素 
:nth-child(4n):选中4的倍数元素
<!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>Document</title>
    <style>
        .box{
            width: 1000px;
            height: 400px;
            border: 1px red solid;
            display: flex;
            justify-content: space-evenly;
        }
        .box .item{
            width: 100px;
            height: 100px;
            background-color: black;
        }
        /* 结构伪类选择器 */
        /* first-child 选择第一个item */
        /* .box .item:first-child{
            background-color: red;
        } */
        /* last-child 选择最后一个item */
        /* .box .item:last-child{
            background-color: pink;
        } */

        /* 选择第一个item */
        .box .item:nth-child(1){
            background-color: red;
        }
        /* 选择第二个item */
        .box .item:nth-child(8){
            background-color: aqua;
        }
        /* 选择4的倍数个item */
        .box .item:nth-child(4n){
            background-color: brown;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="item"></div>
        <div class="item"></div>
        <div class="item"></div>
        <div class="item"></div>
        <div class="item"></div>
        <div class="item"></div>
        <div class="item"></div>
        <div class="item"></div>
    </div>
</body>
</html>

三 表单布局案例

案例1贯穿案例-登录页面制作

image-20221128141125985

<!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>Document</title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }

        img{
            vertical-align: top;
        }

        html{
            height: 100%;
        }
        body{
            height: 100%;
            background-image: url("./img/temp/19.jpg");
            background-repeat: no-repeat;
            background-size: 100% 100%;
            display: flex;
            justify-content: flex-end;
            /* align-items: center; */
            padding-top: 150px;
            box-sizing: border-box;
        }

        main{
            width: 464px;
            height: 352px;
            background-color: #ffffff;
            /* 圆角边框 值代表圆角半径*/
            border-radius: 4px;
            border: solid 1px #d6d6d6;
            margin-right: 200px;
            display: flex;
            flex-direction: column;
        }

        main .logo{
            height: 86px;
            /* background-color: aqua; */
            display: flex;
            justify-content: center;
            align-items: center;
            border-bottom: 1px #d6d6d6 solid;
        }

        main .logo img{
            width: 123px;
	        height: 42px;
        }
        main form{
            flex: 1;
            /* background-color: chocolate; */
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: space-evenly;
        }

        main form div:nth-child(1){
            width: 256px;
            height: 30px;
            background-color: #fdf4e5;
            border: solid 1px #f7cda4;
            font-size: 12px;
            color: #333333;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        main form div input,button{
            width: 256px;
	        height: 42px;
            border-radius: 4px;
        }
        main form div input{
            border: 1px #d3d3d3 solid;
            outline: none;
            padding: 10px;
            box-sizing: border-box;
        }
        main form div button{
            background-color: #c20000;
            border: none;
        }

        main form div:last-child{
            width: 256px;
            /* background-color: #f7cda4; */
            display: flex;
            justify-content: flex-end;
            align-items: center;
        }

        main form div:last-child a{
            text-decoration: none;
            font-size: 12px;
            color: #000000;
            margin: 0 8px;
        }
    </style>
</head>
<body>
    <main>
        <div class="logo">
            <img src="./img/logo.png" alt="">
        </div>
        <form action="">
            <div>公共场所不建议自动登录,以防账号丢失</div>
            <div>
                <input type="text" placeholder="昵称/邮箱/手机号">
            </div>
            <div>
                <input type="password" placeholder="密码">
            </div>
            <div>
                <button type="submit">登录</button>
            </div>
            <div>
                <a href="">免费注册</a>
                <a href="">忘记密码?</a>
            </div>
        </form>
    </main>
</body>
</html>

案例2贯穿案例-注册页面制作

image-20221128141224763

四 表格

表格主要用来展示数据

案例1-表格设计

image-20221213181727466

table:表格
tr:行
th、td:列

thead和tbody,tfoot是语义化标签标签
thead:代表表格头部,里面存放表头信息
tbody:表格内容部分,表格数据呈现
tfoot:代表表格的尾部

案例2-表格样式

image-20230228175749118

表格的样式有两种设计方式

  1. 表格标签默认的属性样式(不推荐使用)
  2. 通过CSS表来控制表格的样式(推荐使用)
<!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>Document</title>
    <style>
        table{
            border: 1px black solid;
            width: 400px;
            height: 300px;
            /* 合并表格的边框。双边框合并为单一边框 */
            border-collapse: collapse;
            text-align: center;
        }
        th,td{
            border: 1px black solid;
        }
    </style>
</head>
<body>
    <!-- 
        table
            表头 thead
            表格主体内容 tbody
            表格的尾部  tfoot

            行 tr
            列 th/td
     -->
     <table >
        <!-- 表头 -->
        <thead>
            <tr>
                <th>姓名</th>
                <th>性别</th>
                <th>年龄</th>
            </tr>
        </thead>
        <!-- 表格主体内容 -->
        <tbody>
            <tr>
                <td>赵日天</td>
                <td></td>
                <td>100</td>
            </tr>
            <tr>
                <td>李杀神</td>
                <td></td>
                <td>200</td>
            </tr>
            <tr>
                <td>王诛魔</td>
                <td></td>
                <td>300</td>
            </tr>
        </tbody>
        <!-- 表格的尾部 -->
        <tfoot>

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/382727.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

taobao.item.propimg.upload( 添加或修改属性图片 )

&#xffe5;开放平台基础API必须用户授权 添加一张商品属性图片到num_iid指定的商品中 传入的num_iid所对应的商品必须属于当前会话的用户 图片的属性必须要是颜色的属性&#xff0c;这个在前台显示的时候需要和sku进行关联的 商品属性图片只有享有服务的卖家&#xff08;如&a…

JVM对象实例化详解

1、对象创建方式你知道几种呢&#xff1f;new&#xff1a;最常见的方式、Xxx的静态方法&#xff0c;XxxBuilder/XxxFactory的静态方法Class的newInstance方法&#xff1a;反射的方式&#xff0c;只能调用空参的构造器&#xff0c;权限必须是publicConstructor的newInstance(XXX…

maven 私服nexus安装与使用

一、下载nexus Sonatype公司的一款maven私服产品 1、官网下载地址&#xff1a;https://help.sonatype.com/repomanager3/product-information/download 2、csdn下载地址&#xff1a;https://download.csdn.net/download/u010197591/87522994 二、安装与配置 1、下载后解压如…

【Rust日报】2023-02-28 Rust 和 WASM 如何驱动 1.1.1.1

为什么用 Rust 构建原生 UI 程序这么困难Rust 正被用于构建 Linux 内核和 Android 操作系统&#xff0c;也被 AWS 用于关键基础设施&#xff0c;以及用于 ChromeOS 和Firefox。尽管 Rust 很有前景&#xff0c;但它在 GUI 原生开发领域还有所欠缺。在 2019 年&#xff0c;GUI 是…

【Springboot】Springboot集成 Druid

Springboot集成 Druid 对于数据访问层&#xff0c;无论是Sql还是NoSql&#xff0c;SpringBoot默认采用整合SpringData的方式进行统一管理&#xff0c;添加大量的自动配置&#xff0c;屏蔽了很多设置。引入了各种XxxTemplate和XxxRepository来简化我们队数据访问层的操作。 Sp…

FCT: The Fully Convolutional Transformer for Medical Image Segmentation 论文解读

The Fully Convolutional Transformer for Medical Image Segmentation 论文&#xff1a;The Fully Convolutional Transformer for Medical Image Segmentation (thecvf.com) 代码&#xff1a;Thanos-DB/FullyConvolutionalTransformer (github.com) 期刊/会议&#xff1a;W…

性能调优,看过的都说会了...

在展开今天的内容之前&#xff0c;我们先来看一下&#xff0c;是不是任何一个测试都可以学习性能测试。 如果说需求、开发、DB、运维、测试是单一一门学科&#xff0c;那么性能就是综合学科&#xff0c;它包含了需求分析、DB、开发、测试、运维的所有学科。 所以说&#xff0…

深度学习在耐火砖项目的一些思考

1.项目概述 年前&#xff0c;产品经理找到我&#xff0c;让我去测试3D视觉耐火砖拆垛项目。大概就是这种转 2. 实际情况 去了现场&#xff0c;采集图像&#xff0c;标定相机和机器人。发现客户不是要顶点的中心点坐标&#xff0c;而是要侧面中心点坐标。因为他们是从侧面抓…

Spring中Emable和Import相关操作

05-SpringBoot自动配置-Enable注解原理 SpringBoot不能直接获取在其他工程中定义的Bean 演示代码&#xff1a; springboot-enable工程 /*** ComponentScan 扫描范围&#xff1a;当前引导类所在包及其子包** com.itheima.springbootenable* com.itheima.config* //1.使用Compo…

mysql数据库之sql优化

一、插入数据时的优化。 1、批量插入。 insert into tb_test values(1,Tom),(2,Cat),(3,Jerry); 2、手动提交事务。 start transaction; insert into tb_test values(1,Tom),(2,Cat),(3,Jerry); insert into tb_test values(4,Tom),(5,Cat),(6,Jerry); insert into tb_test…

【Web服务部署】使用gunicorn部署django程序并一键更新

Web服务部署 【Linux防火墙】网络ip和端口管理 Windows云服务器使用IIS搭建PythonDjangoMysql网站&#xff0c;以及如何部署多个网站 WindowsIIS部署多个Django网站 文章目录Web服务部署前言一、Gunicorn是什么&#xff1f;二、Gunicorn基本使用1.引入库2.常用命令3.gunicorn快…

【Servlet篇2】Servlet的工作过程,Servlet的api——HttpServletRequest

一、Servlet的工作过程 二、Tomcat的初始化 步骤1&#xff1a;寻找到当前目录下面所有需要加载的Servlet(也就是类) 步骤2&#xff1a;根据类加载的结果创建实例(通过反射)&#xff0c;并且放入集合当中 步骤3&#xff1a;实例创建好之后&#xff0c;调用Servlet的init()方…

SpringBoot接口+Redis解决用户重复提交问题

前言 1. 为什么会出现用户重复提交 网络延迟的情况下用户多次点击submit按钮导致表单重复提交&#xff1b;用户提交表单后&#xff0c;点击【刷新】按钮导致表单重复提交&#xff08;点击浏览器的刷新按钮&#xff0c;就是把浏览器上次做的事情再做一次&#xff0c;因为这样也…

前后端分页查询好大的一个坑(已解决)

前言&#xff1a;如果你在做前后端的分页查询&#xff0c;找不到错误&#xff0c;请你来看看是否是和我一样的情况&#xff1f;情况&#xff1a;做了一个前后盾UI的项目&#xff0c;有一个页面是查询系统日志&#xff0c;要进行分页查询&#xff1b;第一页的&#xff1a;第5页的…

MYSQL 基础篇 | 02-MYSQL基础应用

文章目录1 MySQL概述2 SQL2.1 SQL通用语法2.2 SQL分类2.3 DDL2.3.1 数据库操作2.3.2 表操作2.4 DML2.4.1 添加数据2.4.2 修改数据2.4.3 删除数据2.5 DQL2.5.1 基础查询2.5.2 条件查询2.5.3 聚合查询2.5.4 分组查询2.5.5 排序查询2.5.6 分页查询2.5.7 综合练习2.6 DCL2.6.1 管理…

SQLMAP使用

SQLMAPSQLMAP是什么SQLMAP可以对URL做什么&#xff1f;SQLMAP支持的注入技术SQLMAP检测注入漏洞流程&#xff1a;SQLMAP的误报检测机制SQLMAP基本使用常见用法常见参数tamper参数操作系统权限参数文件读写参数SQLMAP是什么 SQLMAP是一个开源的自动化SQL注入工具&#xff0c;主…

SAP 生产订单/流程订单中日期的解释

SAP 生产订单/流程订单中日期的解释 基本开始日期&#xff1a;表示订单的开始日期 基本完成日期&#xff1a;表示订单的完成日期 我们在输入基本开始日期和基本完成日期时需要关注 调度 下面的“类型”&#xff0c;其中有向前、向后、当天日期等&#xff1a; 调度类型 为向前…

上海交大陈海波教授、夏虞斌教授领衔巨作上市:《操作系统:原理与实现》

❤️作者主页&#xff1a;小虚竹 ❤️作者简介&#xff1a;大家好,我是小虚竹。2022年度博客之星评选TOP 10&#x1f3c6;&#xff0c;Java领域优质创作者&#x1f3c6;&#xff0c;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;掘金年度人气作…

java 进阶—线程的常用方法

大家好&#xff0c;通过java进阶—多线程&#xff0c;我们知道的什么是进程&#xff0c;什么是线程&#xff0c;以及线程的三种创建方式的选择 今天&#xff0c;我们来看看线程的基础操作 start() 开启线程 public class Demo implements Runnable {Overridepublic void run…

第五回:样式色彩秀芳华

import matplotlib as mpl import matplotlib.pyplot as plt import numpy as np第五回详细介绍matplotlib中样式和颜色的使用&#xff0c;绘图样式和颜色是丰富可视化图表的重要手段&#xff0c;因此熟练掌握本章可以让可视化图表变得更美观&#xff0c;突出重点和凸显艺术性。…