HTML 入门

HTML 简介


什么是 HTML?

HTML(Hyper Text Markup Language,超文本标记语言)是设计页面的基础,是由标签所组成的语言,能展示超文本效果,更好的展示信息。

  • 超文本:可以添加各种样式的文本。超越了文本仅仅展示信息的功能范畴,如:图片、有样式的文字、点击跳转页面的文字等
  • 标记语言:是一套标记标签,通过一组标签 <关键字>内容体</关键字> 对内容进行描述,由浏览器解释执行
HTML 标签
  • HTML 通过标签来对内容进行描述,标签通常由开始标签和结束标签组成,HTML 标签通常是成对出现的,开始标签和结束标签之间的内容叫做内容体。如,<title>内容体</title>
  • 开始标签和结束标签也被称为开放标签和闭合标签
  • 没有内容体的标签叫做空标签。空标签仅由一个标签组成。如,<br/>,该标签只有开始没有结束,自己在后面添加了斜杠,叫做“标签的自关闭”
  • HTML 标签不区分大小写,为了代码的可读性,建议使用小写
  • HTML 标签是有属性的,属性值必须用引号包裹。如,<font color="red">内容体</font><font color='red'>内容体</font>
  • HTML 标签可包裹嵌套,不建议(禁止)交叉嵌套
HTML 文档
  • HTML 文档描述网页
  • HTML 文档包含 HTML 标签和纯文本
  • HTML 文档也被称为网页
    Web的作用是读取 HTML 文档,并以网页的形式显示出它们。浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容。

HTML 的语法规范

<!-- 
	1. <!DOCTYPE html> 是一个文档声明
	2. <html></html> 是根标签 
	3. html文件主要包含两部分. 头部分和体部分
		头部分 <head> : 主要是用来放置一些页面信息,包含一些说明性的内容
		体部分 <body> : 主要来放置 HTML 页面内容,包含需要给用户展示的内容
 -->
<!DOCTYPE html>
<html>
	<head>
        <!-- meta 是网页配置项 -->
        <meta charset="UTF-8">
		<title>网页标题</title>
	</head>
	<body>
        网页内容
	</body>
</html>
  • HTML 文件的扩展名为 htmlHtmHtm 是老的命名规范,html 是新的命名规范
  • HTML 是一个解释性语言,无需编译,直接由上到下依次解析执行

HTML 标签

基本标签
1. 标题标签 <h1></h1> to <h6></h6>

取值范围 [1, 6],<h1> 最大,<h6> 最小(范围之外显示普通文本)。

2. 段落标签 <p></p>

内容体自成一段(段落前后都换行)。

3. 段落标签 <p></p>
  • align:对齐方式(left(默认)、right、center)
4. 换行标签 <br />

HTML源码中的换行在浏览器解析时会自动解析为一个空格,并且忽略多个换行或者空格

5. HTML 注释 <!--注释文字-->

HTML 注释只有一种,在页面效果中看不到注释的内容,但在源码模式中依旧可以看到注释内容。

格式标签
1. 字体标签 <font></font>
  • size:字体大小,范围 [1, 7](1 最小,7 最大,默认 3)。如果范围不和法,将显示普通文本
  • color:字体颜色(只能是英文)
  • face:字体类型
<font size="5" color="red" face="楷体">今天天气真好</font>
2. 特殊符号
  • &nbsp; 空格符号。显示多个空格,要使用空格符号&nbsp;
7. 超链接标签 <a></a>
  • href:超链接跳转的路径。
    • 内网本机路径
    • 互联网外网路径
    • 本页(默认)

超链接正常工作的条件:1)a标签中有 href 属性;2)a标签中必须有内容体

超链接的内容体不仅仅可以是文字,也可以是其他内容。如,图片等。

属性 href 不仅仅能够链接html文件,还可以链接其他内容。如,图片。

8. 图片标签 <img />
  • src:指明图片的路径,必须要有
  • width:宽度
  • height:高度

宽度和高度的设置有两种:

  • (固定设置)默认单位是 px,像素。如 width="400"width="400px" 等价
  • (动态设置)百分比设置(如 width="50%")。百分比是父标签的百分比,是随父标签的变化而变化的。
9. 列表标签
  • 无序列表 <ul></ul>
  • 列表条目项标签 <li></li>
  • 有序列表 <ol></ol>
<ul>
	<li>香蕉</li>
	<li>苹果</li>
</ul>
<ol>
    <li>11111</li>
    <li>22222</li>
</ol>
10. 表格标签
  • <table> 定义一个表格
  • <tr> 表格的行标签,定义表格中的一行
  • <td> 表格的单元格标签,在表格一行中定义单元格
  • <th> 表格的表头单元格标签

<td><th>唯一区别:<th>里面的内容默认居中加粗

<table>
    <tr>
    	<th>表头单元格</th>
    </tr>
    <tr>
    	<td>普通单元格</td>
    </tr>
</table>

合并单元格:

  • 跨列合并 colspan=“number”
  • 跨行合并 rowspan

合并完后要删除被合并的单元格。(可以理解为一个单元格占表格的几个位置)

11. 块标签
  • <div>内容体</div>
    适用于大量信息展示。
    块级的块标签,用于在效果中定义一块,一个DIV默认占满一行,进行内容的显示
  • <span></span>
    适用于少量信息展示。如,“密码错误”的提示信息
    行级的块标签,用于在效果中一行上定义一个块,有多少内容就会占用多大空间,进行内容显示
表单标签

表单是用来提交用户输入的数据。提交给服务器的程序相当于一个 Web 程序的入口

1. HTML 表单标签 <form></form>

<form></form> 标签仅仅是定义了一个(表单)区域,用于提交用户填写的数据。

  • action:规定当提交表单时向何处发送表单数据。(默认提交到本页)(URL)

关于路径 URL 的两种写法
1) 内网路径
  • 绝对路径:在文件硬盘上的具体位置。如,C:\...\Deskt\a.jpg
  • 相对路径:​
    ../ 表示上一层路径
    ./ 表示当前路径
2) 互联网路径

添加http协议,如 <img src="http://www.baidu.com/xxx.jpg" />


  • target:规定在何处打开 action URL

    • _self(默认):默认。在相同的框架中打开
    • _blank:在新窗口中打开
    • _parent:在父框架集中打开
    • _top:在整个窗口中打开
    • framename:在指定的框架中打开
  • method:规定用于发送 form-data 的 HTTP 方法,即,数据的提交方式。(get、post)

    • get(默认):特点:把数据拼接到地址栏上
    • post:特点,没有把提交数据拼接到地址栏上,把提交数据拼接到了请求体

get和post提交方式的区别:

  1. get提交的参数列表拼接到地址栏后面;post方式不会拼接地址栏后面
  2. get方式提交的数据对于敏感信息不安全;post提交的数据相对安全(至少在地址栏上看不到)
  3. get方式提交的数据量有限(4k);post从理论上提交的数据量是无限大的

(尽量使用 post 方式提交表单)

2. 输入标签 <input /> 表单输入项

表单输入项标签之一,用户可以在该标签上,通过填写和选择,进行数据的输入。<input> 标签用于搜集用户信息。

  • type:设置该标签的种类

    • text:文本框(默认)
    • password:密码框
    • radio:单选框。在同一组内有单选效果。(分组用到name属性)
    • checkbox:复选框。在同一组内有复选效果
    • submit:提交按钮,用于控制表单提交数据
    • reset:重置按钮。用于将表单输入项恢复到默认设置
    • file:附件框,用于上传文件
    • hidden:隐藏域。一般用作提交时用户不需要看到,但服务器需要拿到的数据。
    • button:普通按钮(可用value属性给按钮命名)。需要和 js 事件一起用。
  • name:单选框、复选框进行数据的分组。同一个 name 属性值的被分为一组

  • value:

    • 设置该标签对应的参数值

    value属性的设置策略:

    1. 文本框、密码框这样的表单输入项,可以不强制指定value,因为用户可以自右输入
    2. 单选框、复选框这样的表单输入项,必须强制指定value,因为用户无法输入,只能选择,如果不指定value,那么提交上去的只有“on”,“on”表示选中
    • 作为按钮的名字
  • placeholder:指定默认的提示信息,用于需要用户输入的文本框等的提示信息。

  • checked:设置单选框、复选框的默认选中状态,该属性的值为“checked”或者为空。checked="checked" 或者 checked

  • readonly:设置该标签的参数值为“只读”,用户无法手动更改。数据是可以正常提交的。该属性的值一定要为“readonly”吗?

  • disabled:设置该标签不可用,参数值无法更改,且参数值也无法提交

表单提交按钮,提交数据时,

?参数列表

参数列表格式:参数1=参数值1&参数2=参数值2&参数3=参数值3

on表示选中

单选框,用户只能选择,不能输入,要指定value属性(即提交的对应的参数值),如果单选框没有value值时,提交的参数列表中就会显示 sex=on。这里需要代码进行展示。

在这里插入图片描述

text和password的框框没有name,就相当于没有参数名,没有参数名,提交就是无效的!(用代码进行展示)

只要有 name 属性,就可以提交,值为 value

提交text、password、checlbox等时,有参数名但没有参数值,他们的参数值是什么?(回答:是用户在输入框中填写的数据)

  • 选择框标签

    <select></select> 标签,定义一个选择框

    属性:

    • name:设置该标签对应的参数名
    • multiple:设置该标签全部显示,并且可以进行多选提交。(默认为单选) ==> 省市联动???

在这里插入图片描述

<option></option> 标签,选项标签,在select标签中写用于为一个选择框添加一个选项

属性:

  • value:设置需要提交的参数值,如果没有value值,将提交option的内容体

    【建议】option的内容体一般用来展示,提交的内容(参数值)应该是option的value属性值!

  • selected:设置选项的默认选中状态

  • 文本域标签

    <textarea></textarea> 标签,表单输入项标签之一,用户可以在该标签上通过输入数据,进行数据的输入。

    属性:

    • name:设置该标签对应的参数名

    文本域是没有value领域的

文本域和文本框的区别:

  1. 文本框不能换行,文本域可以;
  2. 文本框参数值是 value 属性(可通过用户输入获得),文本与参数值是标签的内容体。

提交表单注意事项

  • 关于提交中文的问题(推荐使用 IE 去学习)

    提交中文或特殊符号 —> URL 编码。

<!DOCTYPE html>
<html>
   <head>
   	<meta charset="utf-8">
   	<title></title>
   </head>
   <body>
<!--
   表单提交时,name 和 value 属性:
   name 属性相当于   键
   value 属性相当于  值

   如果 name 为空,则该标签对应的用户数据则无法被上传,即使value有值也无法上传;
   如果 value 为空,当该标签的数据,用户只能选择,不能输入时(比如单选框、复选框等),就要指定 value 的值,如果value没有值,那么value的值默认为 “on”,“on”表示“已选择”
   				当该标签的数据可通过用户输入,则value可以为空
-->
   	<form>
   		<!--用 uid 代表该用户的唯一表示-->
   		<input type="hidden" name="uid" value="soiuvoias&&*^*&vasktuyi=-iovas">
   		用户名:<input type="text" name="name" placeholder="中英文皆可" /> <br />
   		密码:<input type="password" name="password" placeholder="包含数字和字母"/> <br />
   		邮箱:<input type="email" name="email"/> <br />
   		手机号:<input type="tel" name="tel"/> <br />
   		上传文件:<input type="file" name="file"/> <br />
   		性别:<input type="radio" name="sex" value="male"/><input type="radio" name="sex" value="female"/><br />
   		爱好:<input type="checkbox" name="hobby" value="read" />看书
   			<input type="checkbox" name="hobby" value="run" />跑步
   			<input type="checkbox" name="hobby" value="code" checked="checked" />编码 <br>
   		简介:<textarea cols="50px" rows="10px" name="简介" placeholder="写点什么吧..."></textarea> <br />
   		籍贯:<select name="city">
   			<option value="-1">--选择--</option>
   			<option value="1">天水</option>
   			<option value="2">运城</option>
   		</select> <br />
   		出生日期:<input type="date" name="birthday" /> <br />
   		<input type="submit" value="注册"/>
   		<input type="button" value="button"/>
   		<input type="reset" value="重置"/>
   	</form>
   </body>
</html>

为什么要使用URL编码?

正常提交数据:

?password=123&username=zhangsan

非正常提交数据:

?password=123#3jci.\clkei*7&divo&username=zhangsan

在对password的值进行 & 分割时就会出现问题

【解决】使用URL编码方式解决

​ 把特殊符号、中文转换成URL编码( %十六进制数 的形式,如:& --> %26);英文和数字就不管了。

为了保证表单数据传递时能更好的区分出属性name和value的值。

保证数据传递的完整性。

URL编码的表现形式 及 本质
  1. 把将要编码的数据进行普通的编码,编码成为字节数组(使用的是页面规定的字符集,如:<meta charset="utf-8" />
  2. 字节数组中的每一个元素,都会从 10 进制,转为 16 进制
  3. 把已经转为 16 进制的字节数组,以 % 进行拼接。拼接出的字符串就是 URL 编码后的结果

如,“你好”,用 UTF-8 编码,编码的字节数组为:

[-28, -67, -96, -27, -91, -67]

URL 编码后:

%E4%BD%A0%E5%BD

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值