// Fork me on GitHub

html

一 引入:

web服务的本质:
 浏览器窗口输入一个网址敲回车发生了哪些事?
   1.朝着指定的服务端发送请求
   2.服务端接收相应的请求
   3.服务端返回相应的响应
   4.浏览器接收响应 按照特定的规则渲染页面展示给用户看

二、HTTP协议

超文本传输协议
  规定了浏览器与服务端之间数据传输的格式

四大特性:
  1.基于请求响应
    一次请求对应一次响应
  2.基于TCP/IP协议作用于传输层之上的协议
  3.无状态
    不保留客户端的状态
  4.无连接
限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接

数据格式:

  1.请求格式:

 

  请求首行(请求方式 协议版本)
  请求头(提前发送给服务端的它需要知道的信息,k,v键值对)
  (空行)  
  请求体(携带的数据,有时候可能是空的 取决于你的请求方式)

 

请求格式
    GET / HTTP/1.1  ---  GET /clschao/articles/9230431.html?name=chao&age=18 HTTP/1.1
    User-Agent:....
    xx:xx

    请求数据  get请求方法没有请求数据  post请求数据方法的请求数据放在这里

  2.响应格式
  响应首行(响应状态码)
  响应头(k,v键值对)
  (空行)
  响应体(浏览器展示给用户看的数据)

响应格式
    HTTP/1.1 200 ok
    kl:v1
    k2:v2

    响应数据
URL:  https://www.cnblogs.com/clschao/articles/9230431.html
    传送协议。
    层级URL标记符号(为[//],固定不变)
   
    服务器。(通常为域名,有时为IP地址)
    端口号。(以数字方式表示,若为HTTP的默认值“:80”可省略)
    路径。(以“/”字符区别路径中的每一个目录名称)  /clschao/articles/9230431.html
    查询。(GET模式的窗体参数,以“?”字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题)
    https://www.cnblogs.com/clschao/articles/9230431.html?name=chao&age=18

 

响应状态码
  用数字来表示一大堆提示信息
  1XX:服务端已经成功接收到客户端的数据正在处理 你可以继续提交
  2XX:200请求成功 服务端已经返回了你想要的数据
  3XX:重定向(原本想访问A但是内部自动给你转到了B上面)
  4XX:404请求资源不存在,403你当前不具备请求该资源的条件
  5XX:500服务端内部错误

请求方式:
1.get请求
  朝服务器要资源 (获取数据)

2.post请求
  朝服务端提交数据(提交数据)

三 HTML

  • 超文本标记语言(Hypertext Markup Language, HTML)是一种用于创建网页的标记语言。
  • 本质上是浏览器可识别的规则,浏览器根据规则渲染我们写的网页。对于不同的浏览器,对同一个标签可能会有不同的解释。
  • 网页文件的扩展名:.html或.htm

HTML注释

注释是代码之母
单行注释:<!--单行-->
多行注释:<!--
        多行注释1
        多行注释2
        -->

HTML文档结构

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
</html>

说明:
<!DOCTYPE html>声明为HTML5文档。
<html>、</html>是文档的开始标记和结束的标记。在它们之间是文档的头部(head)和主体(body)。
<head>、</head>head内放的内容不是给用户看的 是给浏览器去识别做相应操作的
<title>、</title>定义了网页标题,在浏览器标题栏显示。
<body>、</body>之间的文本是可见的网页主体内容,是浏览器展示给用户看的.

标签应该具备的属性

  1. id属性:类似于身份证号,用来唯一标识当前html页面中的某一个标签
       在同一个html页面中 id值不能重复
  2. class属性:类似于面向对象的继承
       直接引用别的类的样式

标签的分类
第一种分类:
  1.双标签
  2.自闭和标签

第二种分类:
  1.块级标签
     独占一行 h1~h6  p   br   hr   div
  2.行内标签
     u  s  i  b   span

注意:

    1. 通常块级标签内部可以嵌套任意的块级标签和行内标签

    2. p虽然是块级标签,但是它的内部只能嵌套行内标签,不能嵌套块级标签.(如果嵌套了也没事,只是不符合html语法规范)

(一)head内常用标签:

<title></title>    定义网页标题
<script></script>    定义JS代码或引入外部JS文件
<link/>    引入外部的css文件
<style></style>    定义内部样式表,支持直接写css代码
                    1.内部可以直接编写js代码
                    2.可以通过src属性引用外部js代码
<meta/>    定义网页原信息


Meta标签介绍:

<meta>元素可提供有关页面的元信息(mata-information),针对搜索引擎和更新频度的描述和关键词。
<meta>标签位于文档的头部,不包含任何内容。
<meta>提供的信息是用户不可见的。
meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name 属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。 

1.http-equiv属性:相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。
<!--指定文档的编码类型(需要知道)-->
<meta http-equiv="content-Type" charset=UTF8">  
<!--2秒后跳转到对应的网址,注意引号(了解)-->
<meta http-equiv="refresh" content="2;URL=https://www.oldboyedu.com">
<!--告诉IE以最高级模式渲染文档(了解)-->
<meta http-equiv="x-ua-compatible" content="IE=edge">

2.name属性: 主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。
<meta name="keywords" content="meta总结,html meta,meta属性,meta跳转">
<meta name="description" content="牛逼网站">
注:这里的'keywrods"、'description'以及'content-type','refresh','x-ua-compatible'都是设定好的参数

(二)body内常用标签

基本标签(块级标签和内联标签)

<b>加粗</b>
<i>斜体</i>
<u>下划线</u>
<s>删除线</s>
<h1>一级标题</h1>
<h2>二级标题</h2>
<p>独占一行</p>
<br> 换行
<hr> 分割线

<p>往事如烟&nbsp&nbsp&nbsp岁月无声</p>
<p>a &gt b</p>
<p>a &lt b</p>
<p>a &amp b</p>
<p>人民币 &yen;10000</p>
<p>版权识别 &copy;</p>
<p>注册商标 &reg;</p>

div标签和span标签

  • div 块级标签
  • span 行内标签

这两个标签本身没有任何实际意义,是用来做前期的页面布局的

img标签

<img src="图片的路径" 
alt="图片未加载成功时的提示" 
title="鼠标悬浮时提示信息" 
width="" 
height="高 (宽高两个属性只用一个会自动等比缩放)"
>

<img src="https://i5.meizitu.net/2019/09/10a01.jpg" alt="是美女" title="美女啊" width="500">

注意:src
    1.可以写一个网站图片地址
    2.还可以写本地的图片地址
    3.url(自动朝该url发送get请求要数据)

a标签:超链接标签
所谓的超链接是指从一个网页指向一个目标的连接关系,这个目标可以是另一个网页,也可以是相同网页上的不同位置,还可以是一个图片,一个电子邮件地址,一个文件,甚至是一个应用程序。

URL:统一资源定位器,也被称为网页地址,是因特网上标准的资源的地址。

<a href="http://www.baidu.com" target="_blank">点我</a>

    href属性内放指定目标网页地址。该地址可以有几种类型:
        - 绝对URL - 指向另一个站点(比如 href="http://www.jd.com)
        - 相对URL - 指当前站点中确切的路径(href="index.htm"- 锚URL - 指向页面中的锚(href="#top")

    target:默认在当前页跳转
        _blank表示在新标签页中打开目标网页
        _self表示在当前标签页中打开目标网页

href 锚点功能
href不单单可以写url 也可以写另外一个a标签id值
点击就会跳转到该id值所对应的a标签所在的位置,不单单是标签,其他标签也可

<a href="" id="1">标题</a>
<a href="#1">回到标题</a>

(三)列表标签

无序列表

<ul>
    <li>111</li>
    <li>222</li>
    <li>333</li>
</ul>

type属性:
    disc(实心圆点,默认值)
    circle(空心圆圈)
    square(实心方块)
    none(无样式)

有序列表

<ol start="2">
  <li>第一项</li>
  <li>第二项</li>
</ol>

注意:
start:设置序号的起始位置
type属性:
    1 数字列表,默认值
    A 大写字母
    a 小写字母
    Ⅰ大写罗马
    ⅰ小写罗马

标题列表

<d1>
    <dt>标题1</dt>
    <dd>内容1</dd>
    <dd>内容2</dd>
    <dt>标题2</dt>
    <dd>内容1</dd>
    <dd>内容2</dd>
</d1>

(四)表格标签

表格最重要的目的是显示表格类数据。表格类数据是指最适合组织为表格格式(即按行和列组织)的数据。

表格的基本结构:

<table border="5">
    <thead>
    <tr>
        <th>姓名</th>
        <th>年龄</th>
        <th>爱好</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td rowspan="2">小汪</td>
        <td>18</td>
        <td>篮球</td>
    </tr>
    <tr>
<!--        <td>小包</td>-->
        <td>19</td>
        <td>足球</td>
    </tr>
    </tbody>
</table>
</body>
</html>

注意:
    <table>:表格标签
    <thead>:表格结构
    <tbody>:表格数据
    一个<tr>就是一行
    <th>:加粗
    <td>:不加粗  
    <border>: 表格边框.
    <rowspan>: 单元格竖跨多少行
    <colspan>: 单元格横跨多少列(即合并单元格)

(五)表单标签

form标签:
获取用户输入(输入,选择,上传文件....)并且将数据打包发送给后端
  action参数:用来控制数据提交的路径(到底朝哪个后端服务器提交数据)
    三种写法:
      1.不写 默认朝当前该页面所在的地址提交数据
      2.全路径(https://www.baidu.com)
      3.只写路径后缀(/index/)
  method参数:控制提交方式
    form表单默认是get请求  method = 'get'
    你可以指定成post请求  method = 'post'
    get请求和post都能够携带数据
    区别:
      get请求携带的数据都是直接拼接在url后面的,数据都是明文的,不能携带隐私信息
      get请求携带的数据大小是有限制,post请求携带的数据是不可轻易看见
            
  enctype参数:
    控制的数据提交的编码格式
    默认情况下form表单是不能够直接发送文件的
    如果你要发送文件 必须将该参数有默认的urlencoded改成formdata

form表单上传文件需要注意:
1.method必须是post
2.enctype必须是formdata
      
input标签:
input标签用来获取用户输入,该标签是一个行内标签

type属性:
  text  普通文本
  password  密文
  date  日期
  radio  多选一
  checkbox  多选多
  checked  默认选中
  reset   重置
  button  普通按钮
  submit  触发form表单提交动作
  file 获取文件

#### input         小米商城 两个靠在一起的input标签要保证高度相等的话要记得字体设置同样大小

```html
type属性
text password date radio checkbox file submit reset button hidden 

name属性 分组,提交数据时的key,提交的数据value

value属性 指定默认值

默认选中  checked属性

readonly 只读
disabled 禁用

注意:1.获取用户输入的标签是用value属性来存放用户的输入,获取用户输入的标签都应该有value属性, 就类似于是字典的key, value属性就类似于是字典的value
2.若想给input设置默认,可以直接给input标签加value
3.若想给input框设置提示信息

username:<input type="text" value="jason" placeholder="用户名">

label标签
label通常是配合input一起使用的
for用来填写对应的input标签id值
点击label标签内的内容 会自动让对应的input标签 (聚焦)

<form action="">
    <label for="d1">用户名:</label>
    <input type="text" id="d1">
</form>

select标签:下拉框
默认是单选的,一个个选项就是一个个option标签

<form action="">
    <select name="city" id="city" >  <!--multiple可以变成多选--> 
        <option value="1">北京</option>
        <option selected="selected" value="2">上海</option>  <!--selected 变成默认选项-->
        <option value="3">广州</option>
        <option value="4">深圳</option>
    </select>
</form>

textarea:多行文本

<form action="">
    <textarea name="demo" id="memo" cols="30" rows="10">
      默认内容
    </textarea>
</form>

能够触发form表单提交数据的按钮

<form action="">
    <input type="submit">
    <input type="submit" value="注册"> <!--可以通过value属性来指定按钮文本内容-->
    <button>点我</button>
</form>

(六)练习:注册功能

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p>注册功能</p>
<form action="">
    <p>
        <label for="d1">用户名:<input type="text" id="d1"></label>
    </p>

    <p>
        <label for="d2">密码:<input type="text" id="d2"></label>
    </p>
    <p>生日:<input type="date"></p>
    <p>性别:
        男<input type="radio" name="gender"><input type="radio" name="gender" checked>
    </p>
    <p>
        <input type="submit" value="注册">
        <input type="reset" value="重置">
        <input type="button" value="按钮">
        <button>点我</button>
    </p>
    <p>爱好:
        篮球 <input type="checkbox">
        足球 <input type="checkbox">
        乒乓球 <input type="checkbox">
    </p>
    <p>省份:
        <select name="" id="">
            <option value="">北京</option>
            <option value="">上海</option>
            <option value="">深圳</option>
        </select>
    </p>
    <p>前女友
            <select name="" id="" multiple>
            <option value="">苍老师</option>
            <option value="">波老师</option>
            <option value="">小泽老师</option>
        </select>
    </p>
    <p>个人简介:
        <textarea name="" id="" cols="30" rows="10"></textarea>
    </p>
    <p>个人简历:
        <input type="file">
    </p>
</form>
</body>
</html>

 

posted @ 2020-09-15 23:35  繁星春水  阅读(243)  评论(1编辑  收藏  举报
1 //2 3
//4