前端开发:1、概念、HTTP协议、HTML及常用标签

前端开发之HTML

一、前端开发的概念

1、前后端的区别

前端

​ 任何与用户直接打交道的操作界面都可以称之为前端

后端

​ 不直接与用户打交道,主要负责内部的业务逻辑

2、前端三剑客

HTML

​ 称之为超文本编辑语言,是网页骨架,是一种搭建网页的语言

CSS

​ 称之为叠层样式表,用来对网页进行装饰

JavaScript

​ 用来给网页添加动作

img

3、前端前戏

​ 使用浏览器充当客服端,使用python编写代码,充当服务端,在浏览器中输入IP地址+端口的方式进行访问服务端

​ 1、在服务端中发现可以收到浏览器的请求信息

​ 2、在浏览器中发现出错信息(响应无效)

​ 3、问题是因为服务端回复的信息没有遵守HTTP协议

image

二、HTTP协议

​ HTTP协议是超文本传输协议,规定了客户端和服务端之间的通讯需要遵守的协议

1、四大特性

  • 基于响应请求
    • 客户端发送请求,服务端回复请求(不会主动给客户端发送请求)
  • 基于TCP、IP作用于应用层之上的协议
    • 该协议属于应用程
  • 无状态
    • 指该协议处理事务没有记忆能力,并不会记录发送的信息
  • 短/无链接
    • 指不会和客户端长久保持连接,处理完当前请求后立刻断开链接

2、数据格式

  • 请求格式

    • 第一部分:请求首行(协议类型和版本号)
    • 第二部分:请求头(一堆K:V键值对)
    • 第三部分:空格
    • 第四部分:请求体(存放铭感信息,类似于账号密码)
  • 响应格式

    • 第二部分:响应首行(协议类型,版本号)
    • 第二部分:响应头(一堆K:V键值对)
    • 第三部分:空格
    • 第四部分:响应体(展示给客户端的数据)

    image

3、响应状态码

  • 1xx:指示信息--表示请求已接收,继续处理
  • 2xx:成功--请求已被接收、处理
    • 200 OK 请求成功
  • 3xx:重定向--完成请求,并进一步操作
    • 302短期跳转,304长期跳转
  • 4xx:客户端错误--有错误的信息,请求无法实现
    • 403访问权限不够,404请求资源不存在
  • 5xx:服务端错误--服务端内部出错

三、HTML

1、简介

  • 超文本标记语言(简称:HTML),是一种用于创建网页的标记语言
  • 本质上是浏览器可以识别的一种语言,规定了我们写网页的方式
  • HTML是一种标记语言,并不是编程语言
  • HTML使用标签来描述网页

img

2、标签

标签的组成

  • HTML 标签是由尖括号包围的关键词,比如
  • HTML 标签通常是成对出现,称之为双标签,也有单个标签,称之为单标签
  • 标签对中的第一个标签是开始标签,第二个标签是结束标签
  • 开始和结束标签也被称为开放标签闭合标签
单标签   (自闭和标签)
	<img 需要展示的内容 />

双标签
	<h1> 需要展示内容 </h1>

标签的分类

  • 行内标签
    • 标签内部文本有多大,就占用多大的地方(px)
  • 块儿级标签
    • 独占一行或多行,支持嵌套

标签的属性

​ 在标签括号内填写的 什么=什么 称之为标签的属性

  • 默认属性
    • 标签自带的属性,编写的时候会自动提示
  • 自定义属性
    • 用户自定义,编写的时候不会自动提示,可能还会飘颜色

3、文档格式

<html>	固定格式 html包裹
    
    <head>主要放跟浏览器交互的配置</head>
    
    <body>主要放给用户查看的花里胡哨的内容</body>
    
</html> 

四、head内常见标签

标签名 标签类型 描述
title 双标签 存放网页标题
meta 单标签 定义网页源信息
style 双标签 支持内部编写CSS代码
link 单标签 支持导入外部CSS文件
sript 双标签 支持内部编写JS代码,也可导入外部JS文件

1、title 标签

  • 定义浏览器工具栏中的标题
  • 提供页面被添加到收藏夹时的标题
  • 显示在搜索引擎结果中的页面标题
<html>
<head>
<meta charset="utf-8">
<title>文档标题</title>
</head>
 
<body>
文档内容......
</body>
 
</html>

2、meta 标签

实例 1 - 定义文档字符编码:
	<meta charset="utf-8">

实例 2 - 定义文档关键词,用于搜索引擎:
	<meta name="keywords" content="HTML, CSS, XML, XHTML, JavaScript">

实例 3 - 定义web页面描述:
	<meta name="description" content="Free Web tutorials on HTML and CSS">

实例 4 - 定义页面作者:
	<meta name="author" content="Hege Refsnes">

实例 5 - 每30秒刷新页面:
	<meta http-equiv="refresh" content="30">

3、style 标签

<head>
    <style>
        h1 {
            color: greenyellow;
        }
    </style>
</head>
<head>
    <link rel="stylesheet" href="theme.css">
</head>

5、sript 标签

<head>
    <script>
        prompt('好好活着','不要浪费生命')
    </script>
    
    <script src="myjs.js"></script>
</head>

五、body内基本标签

1、标题系列

  • h1~h6:控制标题大小
<body>
    <h1>1111</h1>
    <h2>2222</h2>
    <h3>3333</h3>
    <h4>4444</h4>
    <h5>5555</h5>
    <h6>6666</h6>
</hody>

2、段落系列

  • p (控制段落)
<body>
    <p>宇宙第一</p>
    <p>宇宙第强</p>
    <p>宇宙第帅</p>
</body>

3、图像标签

  • img
<img src=""/>
src中写图片的本地地址或是网址

4、其它标签

标签 描述
u 下划线
i 斜体
s 删除线
b 加粗
<body>
  <u>宇宙第一</u>
  <i>宇宙第一</i>
  <s>宇宙第一</s>
  <b>宇宙第一</b>
</body>
ps:相同效果可能是有不同的标签实现的 不是独一无二的

5、换行符和分割线

标签 描述
br 换行
hr 分割线
1、br
<body>
   宇宙<br>第一
</body>

2.hr
<body>
   宇宙<hr>第一
</body>

6、常见符号

1.&nbsp; 	空格
2.&gt;		大于
3.&lt;		小于
4.&amp;		&符
5.&yen;		¥
6.&copy;	© 
7.&reg;		®

六、body内常用标签

标签 类型 描述
a 双标签 定义超链接
img 单标签 图片标签
ul 双标签 无序列表
ol 双标签 有序列表
dl 双标签 标题标签
table 双标签 表格标签
input 双标签 表单标签

1、a—超链接标签

< a >标签定义超链接,用于从一个页面链接到另一个页面

< a >同一个页面下,一个位置到另一个位置

标签重要属性

  • href 属性
    • 指定链接的目标(指向的网页链接需要加前缀:https),也可绑定同一页面下其他标签的类名、ID名
<a href="https://www.baidu.com">访问百度!</a>

2、img—图片标签

< img > 标签定义 HTML 页面中的图像。

< img > 标签有两个必需的属性:src 和 alt。

标签重要属性

  • src 属性
    • 指定图片存储的路径(可以本地路径,也可以是图片的链接)
  • alt 属性
    • 用来设置当我们图片加载失败的时候,显示的信息。
  • width/height 属性
    • 宽/高,设置图片的宽和高,一般只需要设置其中一个属性,同时设置两个属性可能会导致图片失真
  • title 属性
    • 用来设置鼠标悬停时的提示信息
<img 
     decoding="async" 
     src="smiley-2.gif" 
     alt="Smiley face" 
     width="42" 
     height="42" 
/>

3、ul —无序列表标签

< ul > 标签定义无序列表。

将 < ul > 标签与 < li > 标签一起使用,创建无序列表。

无序列表
	 <ul>
        <li>手机</li>
        <li>衣物</li>
        <li>电子</li>
    </ul>
ps:页面上所有有规则排列的横向或者竖向的数据 一般使用的都是无序列表

4、ol—有序列表标签

< ol > 标签定义了一个有序列表. 列表排序以数字来显示。

与 < li > 标签来定义列表选项。

标签属性

  • type 属性
    • 编号的类型
  • start 属性
    • 序号起始位置(默认为1)
<ol type="I" start='1'>
    <li>111</li>
    <li>222</li>
    <li>333</li>
</ol>

5、dl —标题标签

< dl > 标签定义一个描述列表。

< dl > 标签与 < dt >(定义项目/名字)和< dd >(描述每一个项目/名字)一起使用。

<dl>
    <dt>大标题</dt>
        <dd>小标题1</dd>
        <dd>小标题2</dd>
</dl>

6、tele—表格标签

< table > 标签定义 HTML 表格

< tr > 元素定义表格行,< th > 元素定义表头,< td> 元素定义表格单元。

标签常用属性

  • align 属性
    • 定义表格周围元素对齐属性(left,center,right)
  • bgcolor 属性
    • 定义表格背景颜色
  • broder 属性
    • 定义表格边框厚度
  • width 属性
    • 表格宽度(pixels,%)
1.先写基本骨架
	<table>
        <thead></thead>
        <tbody></tbody>
    </table>
2.再写表头及表单数据
	 <tr>  一个tr标签就表示一行
        <th>编号</th>  th主要用于表头字段中 用来加粗显示
        <th>姓名</th>
        <th>年龄</th>
    </tr>
    
    <tr>
        <td>1</td>  td主要用于表达数据中 
        <td>jason</td>
        <td>18</td>
    </tr>
 

    <table>
        <thead>
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>年龄</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>1</td>
                <td>jason</td>
                <td>18</td>
            </tr>
        </tbody>
    </table>

7、input—表单标签

< input > 表单表单标签是用来采集用户的输入数据,然后将数据提交给服务器

< input > 标签规定了用户可以在其中输入数据的输入字段。

< input > 元素在 < form > 元素中使用,用来声明允许用户输入数据的 input 控件。

输入字段可通过多种方式改变,取决于 type 属性。

input元素的属性

  • type属性:指定输入内容的类型,默认为text:单行文本框
  • name属性:输入内容的识别名称,传递参数时候的参数名称
  • value属性:默认值
  • maxlength:输入的最大字数
  • readonly属性:只读属性,设置内容不可变更,提交时会以前发送至服务器
  • disabled属性:设置为不可用(不可操作)
  • required属性:设置该内容为必须填写项,否则无法提交
  • placeholder属性:设置默认值,当文本框获得焦点时被清空,对text/url/tel/email//password/search有效
  • autofocus属性:自动获得焦点
  • accesskey属性:指定快捷键windows中,指定快捷键后,按Alt+“快捷键”,便会获得焦点
  • tabindex属性:指定按Tab键时,项目间的移动顺序
  • autocomplet属性: HTML5新增属性属性值为on/off,定义是否开启浏览器自动记忆功能
    input的其他属性还有很多,我们放在案例中逐步讲解,暂时先了解这三个

type属性z值

  • 默认为text
  • password:密码状态输入
  • submit:提交按钮,点击将数据发送至服务器
  • reset:重置按钮
  • button:普通按钮
  • imge:图片式提交按钮
  • hidden;隐藏字段
    1 . 该内容不会显示页面上
    2 . 一般为网页设计者设置的变量数据,提交时,隐藏内容会提交到服务器
    3 .关于hidden暂时只了解这么多,以后用到的时候再详细说
  • email:表示要输入一个电子邮箱
    1 .这是HTML5新增的元素
    2 .他会对输入内容进行验证,在之前需要编写大段的JS代码来进行这项工作
    3 .浏览器版本比较低的话有可能不支持,不同的浏览器提示的效果可能有差异
  • url:表示要输入一个网址
    这是HTML5新增的
    1 .他会对输入内容进行验证,在之前需要编写大段的JS代码来进行这项工作
    2 .浏览器版本比较低的话有可能不支持,不同的浏览器提示的效果可能有差异
  • tel:表示输入的内容是一个电话号码
    1 .这是HTML5新增的
    2 .他不会对输入内容进行验证
    3 .浏览器版本比较低的话有可能不支持,不同的浏览器提示的效果可能有差异
  • number:
    1 .这是HTML5新增的
    2 .可以配合input的max/min/step/value规定允许输入的最大值/最小值/步长/默认值
    3 .浏览器版本比较低的话有可能不支持,不同的浏览器提示的效果可能有差异
  • range(活动条)
    1 .这是HTML5新增的;与number类型类似,也是表示一定范围的数值输入,但是以一个活动条的状态显示
    2 .可以配合input的max/min/step/value规定的最大值/最小值/步长/默认值
    3 .浏览器版本比较低的话有可能不支持,不同的浏览器提示的效果可能有差异
  • 时间类
    1 .这是HTML5新增的;
    2 .包括datetime/datetime-local/date/month/week/time
    3 .浏览器版本比较低的话有可能不支持,不同的浏览器支持程度不同
  • color
    1 .这是HTML5新增的;
    2 .可以建立一个颜色的选择输入框
    3 .浏览器版本比较低的话有可能不支持,不同的浏览器支持程度不同
  • seacrch
    1 .这是HTML5新增的;
    2 .用于建立一个搜索框,用来供用户输入搜素的关键词
    3 .浏览器版本比较低的话有可能不支持,不同的浏览器支持程度不同
  • file
    1 .用来创建一个文件选取的输入框
    2 .可通过accept属性规定选取文件的类型,比如图片/视频
    3 .multipe属性可以设定一次允许选择多个文件
  • checkbox/复选框
    1 .用来创建一个复选框(可以多项选择)
    2 .通过checked属性可讲某个选项设为默认的选取状态,再次单击取消选取
  • radio/单选框
    1 .用来创建一个单选框(可以多项选择)
    2 .通过checked属性可讲某个选项设为默认的选取状态,再次单击取消选取
    3 .必须将同一组单选项设置一个相同的name属性值
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h2>用户注册页面</h2>
    <form action="">
        <p>username:
            <input type="text">
        </p>
        <p>password:
            <input type="password">
        </p>
        <p>birthday:
            <input type="date">
        </p>
        <p>email:
            <input type="email">
        </p>
        <p>gender:
            <input type="radio" name="gender" value="male">男
            <input type="radio" name="gender" value="female">女
            <input type="radio" name="gender" value="others">其他
        </p>
        <p>hobbies:
            <input type="checkbox">篮球
            <input type="checkbox">足球
            <input type="checkbox">双色球
            <input type="checkbox">rap球
            <input type="checkbox">各种球
        </p>
        <p>file:
            <input type="file">
        </p>
        <p>files:
            <input type="file" multiple>
        </p>
        <p>province:
            <select name="" id="">
                <option value="">北京</option>
                <option value="">上海</option>
                <option value="">深圳</option>
            </select>
        </p>
        <p>pre_GF:
            <select name="" id="" multiple>
                <option value="">小花</option>
                <option value="">小明</option>
                <option value="">小波</option>
                <option value="">小红</option>
                <option value="">小李</option>
            </select>
        </p>
        <p>info:
            <textarea name="" id="" cols="30" rows="10"></textarea>
        </p>
        <input type="submit" value="注册">
        <input type="reset" value="重置">
        <input type="button" value="按钮">
    </form>
</body>
</html>

七、表单标签补充说明

1、< input >标签基于< form >标签发送数据

2、获取用户数据的标签至少应该含有一个name属性

​ name属性相当于字典的键

​ 用户输入的数据会被保存到values属性中

​ values属性相当于字典的值

3、如果只需要用户进行选择,不需要用户填写数据,那么我们需要自己填写values的值

<input type="radio" name="gender" value="male">男
<input type="radio" name="gender" value="female">女
ps:没有name属性的标签 form表单会直接忽略 不会发送

4、针对< input >标签理论上应该配备一个< label >标签绑定,但是也可以不写

1.在label标签内直接编写input标签
    <label for="d1">username:
        <input type="text" id="d1">
    </label>
2.在input标签内定义ID,可在lamel标签外编写,需要绑定ID
    <label for="d1">username:</label>
    <input type="text" id="d1">

5、针对选择类型的标签,可以提前设置默认选项

<input type="radio" name="gender" checked="checked">
<input type="radio" name="gender" checked>
<input type="checkbox" checked="checked">
<input type="checkbox" name="gender" checked>
<option value="" selected="selected">222</option>
<option value="" selected>222</option>	

6、下拉框与文件上传可以复选(多选)

<input type="file" multiple>
<select name="" id="" multiple>
posted @ 2022-12-01 21:49  kangshong  阅读(88)  评论(0编辑  收藏  举报