目录
一、认识WEB
网页:主要是由文字、图像、超链接等元素构成,当然除了这些元素,网页中还可以包括音频、视频以及Flash等。
浏览器:是网页显示、运行的平台。
web由结构标准,表现标准和行为标准构成。
- 结构标准用于对网页元素进行整理和分类(HTML)
- 表现标准用于设置网页元素的版式、颜色、大小等外观属性(CSS)
- 行为标准用于对网页模型的定义及交互的编写(JavaScript)
二、HTML初识
HTML(Hyper Text Markup Language):超文本标记语言
-
因为它可以加入图片、声音、动画、多媒体等内容(超越文本限制 )
-
还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接(超级链接文本)。
<!-- 页面中最大的标签 根标签 --> <html> <head> <!-- 头部标签 --> <title><!-- 标题标签 --></title> </head> <body> <!-- 文档的主体 --></body> </html>
规定大小写:HTML标签名、类名、标签属性和大部分属性值统一用小写
HTML元素标签分类:常规元素(双标签)、空元素(单标签)
HTML标签关系:嵌套关系父子级包含关系、并列关系兄弟级并列关系
ps:如果两个标签之间的关系是嵌套关系,子元素最好缩进一个tab键的身位(一个tab是4个空格)。如果是并列关系,最好上下对齐。
文档类型<!DOCTYPE >:用来说明你用的XHTML或者HTML是什么版本。<!DOCTYPE html>告诉浏览器按照HTML5标准解析页面。
页面语言lang:lang指定该html标签内容所用的语言。
<html lang="en">
en 定义语言为英语 zh-CN定义语言为中文
字符集:(Character set)是多个字符的集合,计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。
- UTF-8是目前最常用的字符集编码方式
<meta charset="UTF-8" />
三、HTML常用标签
1. 排版标签
主要和css搭配使用,显示网页结构的标签,是网页布局最常用的标签。
-
标题标签h(h1~h6)
-
段落标签p,可以把 HTML 文档分割为若干段落
-
水平线标签hr
-
换行标签br
-
div和span标签:是没有语义的,是网页布局最主要的2个盒子。
2. 排版标签
-
b和strong 文字以粗体显示
-
i和em 文字以斜体显示
-
s和del 文字以加删除线显示
-
u和ins 文字以加下划线显示
ps:常用strong、em、del、ins
3. 标签属性(行内式)
使用HTML制作网页时,如果想让HTML标签提供更多的信息,可以使用HTML标签的属性加以设置。
<标签名 属性1="属性值1" 属性2="属性值2" …> 内容 </标签名>
<手机 颜色="红色" 大小="5寸"> </手机>
4. 图像标签img
属性 | 描述 |
src | 图像的路径 |
alt | 图像不能显示时的替换文本 |
title | 图像悬停时显示的内容 |
width | 设置图像宽度 |
height | 设置图像高度 |
border | 设置图像边框宽度 |
ps:
-
标签可以拥有多个属性,必须写在开始标签中,位于标签名后面。
-
属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开。
5. 链接标签
<a href="跳转目标" target="目标窗口的弹出方式">文本或图像</a>
target="_self" 默认窗口弹出方式
target="_blank" 新窗口弹出
属性 | 作用 |
---|---|
href | 用于指定链接目标的地址 |
target | 用于指定链接页面的打开方式,其取值有_self和_blank两种,_self为默认值,_blank为在新窗口中打开方式。 |
src 和 href 的区别
概括:src 是引入资源的 href 是跳转的
-
src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和frame等元素。当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。这也是为什么将js脚本放在底部而不是头部。
-
href是Hypertext Reference的缩写,指向网络资源所在位置,建立和当前元素或当前文档(链接)之间的链接。如果我们在文档中添加那么浏览器会识别该文档为css文件,就会并行下载资源并且不会停止对当前文档的处理。这也是为什么建议使用link方式来加载css
ps:
-
外部链接 需要添加网址 比如:http:// www.baidu.com
-
内部链接 直接链接内部页面名称即可 比如 < a href="index.html"> 首页
-
如果当时没有确定链接目标时,通常将链接标签的href属性值定义为“#”(即href="#"),表示该链接暂时为一个空链接。
-
不仅可以创建文本超链接,在网页中各种网页元素,如图像、表格、音频、视频等都可以添加超链接。
6. 注释标签
<!-- 注释语句 -->
快捷键是: ctrl + /
或者 ctrl +shift + /
约定:注释位于要注释代码的上面,单独占一行
7. 路径
路径分类 | 符号 | 说明 |
同一级路径 | 只需要输入图像的名称src="图片文件名" | |
下一级路径 | / | 图像文件夹与HTML文件同级src="图像文件夹名/图片文件名" |
上一级路径 | ../ | 图片与HTML文件夹同级src="../图片文件名" |
8. 其他
- 空格符: 
- XHTML 指可扩展超文本标签语言(EXtensible HyperText Markup Language),目标是取代 HTML,是更严格更纯净的 HTML 版本。作为一种 XML 应用被重新定义的 HTML,是严格版本的HTML。例如它要求标签必须小写,标签必须被正确关闭,标签顺序必须正确排列,对于属性都必须使用双引号等。
- 写HTML代码时应注意什么?
-
尽可能少使用无语义的标签div和span
-
在语义不明显时,既可以使用div或者p时,尽量用p, 因为p在默认情况下有上下间距,对兼容特殊终端有利
-
需要强调的文本,可以包含在strong或者em标签中(浏览器预设样式,能用CSS指定就不用他们)
四、表格
1. 表格
现在还是较为常用的一种标签,常见显示、展示表格式数据,一个清爽简约的表格能够把繁杂的数据表现得很有条理。
2. 创建表格
<table>
<tr>
<td>单元格内的文字</td>
...
</tr>
...
</table>
-
table用于定义一个表格标签。
-
tr标签 用于定义表格中的行,必须嵌套在 table标签中。
-
td 用于定义表格中的单元格,必须嵌套在<tr></tr>标签中。
表头单元格标签th:一般表头单元格位于表格的第一行或第一列,并且文本加粗居中,只需用表头标签<th></th>替代相应的单元格标签<td></td>即可。
表格标题caption:通常这个标题会被居中且显示于表格之上。caption 标签必须紧随 table 标签之后。这个标签只存在表格里面才有意义。
<table>
<caption>我是表格标题</caption>
</table>
3. 表格属性
属性名 | 含义 |
border | 设置表格的边框,默认为0 |
cellspacing | 设置单元格与单元格边框之间的空白间距,默认为2 |
cellpadding | 设置单元格内容与单元格边框之间的空白间距,默认为1 |
width | 设置表格宽度 |
heigth | 设置表格高度 |
align | 设置表格在网页中的水平对齐方式,left/center/right |
ps:三参为0。平时开发的我们这三个参数 border cellpadding cellspacing 为 0
4. 合并单元格
合并的顺序我们按照 先上 后下 先左 后右 的顺序 ,合并完之后需要删除多余的单元格。
-
跨行合并:rowspan="合并单元格的个数"
-
跨列合并:colspan="合并单元格的个数"
5. 总结表格
标签名 | 定义 | 说明 |
---|---|---|
<table></table> | 表格标签 | 就是一个四方的盒子 |
<tr></tr> | 表格行标签 | 行标签要再table标签内部才有意义 |
<td></td> | 单元格标签 | 单元格标签是个容器级元素,可以放任何东西 |
<th></th> | 表头单元格标签 | 它还是一个单元格,但是里面的文字会居中且加粗 |
<caption></caption> | 表格标题标签 | 表格的标题,跟着表格一起走,和表格居中对齐 |
clospan 和 rowspan | 合并属性 | 用来合并单元格的 |
6. 表格划分结构
将表格分割成三个部分:题头、正文和脚注,这三部分分别用:thead,tbody,tfoot来标注, 这样更好的分清表格结构。
ps:
1.<thead></thead>:用于定义表格的头部。用来放标题之类的东西。<thead> 内部必须拥有<tr> 标签!
2. <tbody></tbody>:用于定义表格的主体。放数据本体 。
3. <tfoot></tfoot>放表格的脚注之类。
4. 以上标签都是放到table标签中。
五、列表
列表ul:
容器里面装载着结构,样式一致的文字或图表的一种形式,叫列表,最大的特点就是整齐 、整洁、 有序,跟表格类似,但是它可组合自由度会更高。
1. 无序列表 ul
-
<ul></ul>中只能嵌套<li></li>,直接在<ul></ul>标签中输入其他标签或者文字的做法是不被允许的。
-
<li>与</li>之间相当于一个容器,可以容纳所有元素。
<ul>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
......
</ul>
2. 有序列表 ol
-
<ol>标签中的type属性值为排序的序列号,不添加type属性时,有序列表默认从数字1开始排序。常用的type属性值分别为是1,a,A,i,I
-
<ol reversed="reversed">中的reversed属性能够让有序列表中的序列倒序排列。
-
<ol start="3">中的start属性值为3,有序列表中的第一个序列号将从3开始排列。
<ol type="A">
<li>列表项1</li>
<li>列表二</li>
<li>列表三</li>
</ol>
3. 自定义列表 dl
定义列表常用于对术语或名词进行解释和描述,定义列表的列表项前没有任何项目符号。
<dl>
<dt>名词1</dt>
<dd>名词1解释1</dd>
<dd>名词1解释2</dd>
...
<dt>名词2</dt>
<dd>名词2解释1</dd>
<dd>名词2解释2</dd>
...
</dl>
六、表单
表单:
在HTML中,一个完整的表单通常由表单控件(也称为表单元素)、提示信息和表单域3个部分构成。表单目的是为了收集用户信息。
表单控件:
包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等。
提示信息:
一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。
表单域:
它相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的url地址,以及数据提交到服务器的方法。如果不定义表单域,表单中的数据就无法传送到后台服务器。
1. input 控件
<input type="属性值" value="你好">
-
input 输入的意思
-
<input />标签为单标签
-
type属性设置不同的属性值用来指定不同的控件类型
常用属性:
name属性
- radio 如果是一组,我们必须给他们命名相同的名字 name 这样就可以多个选其中的一个。
- name属性,我们现在用的较少,但是,当我们学ajax 和后台的时候,是必须的。
<input type="radio" name="sex" />男
<input type="radio" name="sex" />女
checked属性
-
表示默认选中状态。 较常见于 单选按钮和复选按钮。
性 别:
<input type="radio" name="sex" value="男" checked="checked" />男
<input type="radio" name="sex" value="女" />女
input 属性小结
属性 | 说明 | 作用 |
---|---|---|
type | 表单类型 | 用来指定不同的控件类型 |
value | 表单值 | 表单里面默认显示的文本 |
name | 表单名字 | 页面中的表单很多,name主要作用就是用于区别不同的表单。 |
checked | 默认选中 | 表示那个单选或者复选按钮一开始就被选中了 |
2. label标签
-
label 标签为 input 元素定义标注(标签)。
-
label标签主要目的是为了提高用户体验。为用户提高最优秀的服务。
作用:用于绑定一个表单元素, 当点击label标签的时候, 被绑定的表单元素就会获得输入焦点。
如何绑定元素呢
-
第一种用法就是用label标签直接包含input表单, 适合单个表单选择
-
第二种用法 for 属性规定 label 与哪个表单元素绑定(通过id)。
第一种
<label> 用户名:
<input type="radio" name="usename" value="请输入用户名">
</label>
第二种
<label for="sex">男</label>
<input type="radio" name="sex" id="sex">
3. textarea控件(文本域)
-
通过textarea控件可以轻松地创建多行文本输入框.
-
cols="每行中的字符数" rows="显示的行数" 我们实际开发不用
文本框和文本域区别
表单 | 名称 | 区别 | 默认值显示 | 用于场景 |
---|---|---|---|---|
input type="text" | 文本框 | 只能显示一行文本 | 单标签,通过value显示默认值 | 用户名、昵称、密码等 |
textarea | 文本域 | 可以显示多行文本 | 双标签,默认值写到标签中间 | 留言板 |
4. select下拉列表
-
如果有多个选项让用户选择,为了节约空间,我们可以使用select控件定义下拉列表。
-
在option 中定义selected =" selected "时,当前项即为默认选中项。
-
我们实际开发会用的比较少
<select>
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
...
</select>
5.form表单域
- 通过form表单域把收集的用户信息传递给服务器。
- 目的:在HTML中,form标签被用于定义表单域,以实现用户信息的收集和传递,form中的所有内容都会被提交给服务器。
<form action="url地址" method="提交方式" name="表单名称">
各种表单控件
</form>
常用属性:
-
每个表单都应该有自己表单域。后面学 ajax 后台交互的时候,必须需要form表单域。
属性 | 属性值 | 作用 |
---|---|---|
action | url地址 | 用于指定接收并处理表单数据的服务器程序的url地址。 |
method | get/post | 用于设置表单数据的提交方式,其取值为get或post。 |
name | 名称 | 用于指定表单的名称,以区分同一个页面中的多个表单。 |
ps:
-
元素属性值使用双引号语法
-
元素属性值可以写上的都写上
推荐
<input type="text" />
<input type="radio" name="name" checked="checked" />
补充:
-
使用表格时,标题要用caption,表头用thead,主体部分用tbody包围,尾部用tfoot包围。表头和一般单元格要区分开,表头用th,单元格用td;
-
表单域要用fieldset标签包起来,并用legend标签说明表单的用途;
-
每个input标签对应的说明文本都需要使用label标签,并且通过为input设置id属性,在lable标签中设置for来让说明文本和相对应的input关联起来。
GET 和 POST 的区别
-
GET在浏览器回退时是无害的,而POST会再次提交请求。
-
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
-
GET请求只能进行url编码,而POST支持多种编码方式。
-
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
-
GET请求大小一般是(1024字节),http协议并没有限制,而与服务器,操作系统有关,POST理论上来说没有大小限制,http协议规范也没有进行大小限制,但实际上post所能传递的数据量根据取决于服务器的设置和内存大小。
-
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
-
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。