一、认识网页
网页主要由文字、图像和超链接等元素构成。当然,除了这些元素,网页中还可以包含音频、视频以及Flash等。
二、常见浏览器内核
浏览器是网页运行的平台,常用的浏览器有IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。我们平时称为五大浏览器。
浏览器内核又可以分成两部分:渲染引擎(layout engineer 或者 Rendering Engine)和 JS 引擎。
渲染引擎 它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。
JS 引擎 则是解析 Javascript 语言,执行 javascript语言来实现网页的动态效果。
最开始渲染引擎和 JS 引擎并没有区分的很明确,后来 JS 引擎越来越独立,内核就倾向于只指渲染引擎。有一个网页标准计划小组制作了一个 ACID 来测试引擎的兼容性和性能。内核的种类很多,如加上没什么人使用的非商业的免费内核,可能会有10多种,但是常见的浏览器内核可以分这四种:Trident、Gecko、Blink、Webkit。
(1)Trident(IE内核) 国内很多的双核浏览器的其中一核便是 Trident,美其名曰 "兼容模式"。 代表: IE、傲游、世界之窗浏览器、Avant、腾讯TT、猎豹安全浏览器、360极速浏览器、百度浏览器等。 Window10 发布后,IE 将其内置浏览器命名为 Edge,Edge 最显著的特点就是新内核 EdgeHTML。 (2)Gecko(firefox) Gecko(Firefox 内核): Mozilla FireFox(火狐浏览器) 采用该内核,Gecko 的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。 可惜这几年已经没落了, 比如 打开速度慢、升级频繁、猪一样的队友flash、神一样的对手chrome。 (3) webkit(Safari) Safari 是苹果公司开发的浏览器,所用浏览器内核的名称是大名鼎鼎的 WebKit。 现在很多人错误地把 webkit 叫做 chrome内核(即使 chrome内核已经是 blink 了),苹果感觉像被别人抢了媳妇,都哭晕再厕所里面了。 代表浏览器:傲游浏览器3、 Apple Safari (Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android 默认浏览器, (4) Chromium/Blink(chrome) 在 Chromium 项目中研发 Blink 渲染引擎(即浏览器核心),内置于 Chrome 浏览器之中。Blink 其实是 WebKit 的分支。 大部分国产浏览器最新版都采用Blink内核。二次开发 (5) Presto(Opera) Presto(已经废弃) 是挪威产浏览器 opera 的 "前任" 内核,为何说是 "前任",因为最新的 opera 浏览器早已将之抛弃从而投入到了谷歌怀抱了。 了解一点: 移动端的浏览器内核主要说的是系统内置浏览器的内核。 Android手机而言,使用率最高的就是Webkit内核,大部分国产浏览器宣称的自己的内核,基本上也是属于webkit二次开发。 iOS以及WP7平台上,由于系统原因,系统大部分自带浏览器内核,一般是Safari或者IE内核Trident的
Web 标准的好处
1、让Web的发展前景更广阔 2、内容能被更广泛的设备访问 3、更容易被搜寻引擎搜索 4、降低网站流量费用 5、使网站更易于维护 6、提高页面浏览速度
Web标准不是某一个标准,而是由W3C和其他标准化组织制定的一系列标准的集合。
主要包括结构(Structure)、表现(Presentation)和行为(Behavior)三个方面。
结构标准:结构用于对网页元素进行整理和分类,咱们主要学的是HTML。 最重要
表现标准:表现用于设置网页元素的版式、颜色、大小等外观样式,主要指的是CSS。
行为标准:行为是指网页模型的定义及交互的编写,咱们主要学的是 Javascript
理想状态我们的源码: .HTML .css .js
练习
1.关于WEB标准下列说法正确的是: A html决定页面的行为,css决定页面的样式,js决定页面的结构 B html决定页面的样式,css决定页面的结构,js决定页面的行为 C html决定页面的结构,css决定页面的样式,js决定页面的行为 D 以上都不正确 2 web 标准里边规定三层分离不包括哪部分 A.HTML B.CSS C.JavaScript D.PHP 3.关于WEB标准下列说法正确的是 A.html相当于人的动作行为,CSS相当于人的穿着打扮,javascript相当于人的骨架结构; B.html相当于人的骨架结构,CSS相当于人的穿着打扮,javascript相当于人的动作行为; C.html相当于人的穿着打扮,CSS相当于人的骨架结构,javascript相当于人的动作行为; D.html相当于人的骨架结构,CSS相当于人的动作行为,javascript相当于人的穿着打扮;
四、Web服务本质
import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) sk.listen(5) while True: conn, addr = sk.accept() data = conn.recv(8096) conn.send(b"HTTP/1.1 200 OK\r\n\r\n") conn.send(b"<h1>Hello world!</h1>") conn.close()
浏览器发请求 --> HTTP协议 --> 服务端接收请求 --> 服务端返回响应 --> 服务端把HTML文件内容发给浏览器 --> 浏览器渲染页面
HTML(英文Hyper Text Markup Language的缩写)中文译为“超文本标签语言”。是用来描述网页的一种语言。
所谓超文本,因为它可以加入图片、声音、动画、多媒体等内容,不仅如此,它还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接。
<h1> 我是一个大标题 </h1>
注意: 体会 文本 标签 语言 几个词语
-
HTML 指的是超文本标记语言 (Hyper Text Markup Language)
-
HTML 不是一种编程语言,而是一种标记语言 (markup language)
-
标记语言是一套标记标签 (markup tag)
总结: HTML 作用就是用标记标签来描述网页,把网页内容在浏览器中展示出来。
5.1
<HTML> <head> <title></title> </head> <body> </body> </HTML>
详细
1 HTML标签: 作用所有HTML中标签的一个根节点。 最大的标签 根标签 2 head标签: 文档的头部 文档的头部描述了文档的各种属性和信息,包括文档的标题、在 Web 中的位置以及和其他文档的关系等。绝大多数文档头部包含的数据都不会真正作为内容显示给读者。 注意在head标签中我们必须要设置的标签是title 3.title标签: 文档的标题 作用:让页面拥有一个属于自己的标题。 4.body标签:文档的主体 以后我们的页面内容 基本都是放到body里面的 body 元素包含文档的所有内容(比如文本、超链接、图像、表格和列表等等。)
5.2
<标签名> 内容 </标签名> 该语法中“<标签名>”表示该标签的作用开始,一般称为“开始标签(start tag)”,“</标签名>” 表示该标签的作用结束,一般称为“结束标签(end tag)”。和开始标签相比,结束标签只是在前面加了一个关闭符“/”。 比如 <body>我是文字 </body>
单标签
<标签名 />
单标签也称空标签,是指用一个标签符号即可完整地描述某个功能的标签。
比如 <br /> 、<hr /> 、 <img / >
1.嵌套关系
<head> <title> </title> </head>
2.并列关系
<head></head> <body></body>
倡议: 如果两个标签之间的关系是嵌套关系,子元素最好缩进一个tab键的身位。如果是并列关系,最好上下对齐。
练习
请问下列哪个标签是错误的? A <head></head><body></body> B <strong><div></div></strong> C <head><title></head></title> D <body><div></div></body>
快捷键
1. html: 5
2. !
在sublime里面然后按下tab键盘即可生成HTML骨架
<!DOCTYPE html>
这句话就是告诉我们使用哪个html版本? 我们使用的是 html 5 的版本。 html有很多版本,那我们应该告诉用户和浏览器我们使用的版本号。
注意: 一些老网站可能用的还是老版本的文档类型比如 XHTML之类的,但是我们学的是HTML5,而且HTML5的文档类型兼容很好(向下兼容的原则),所以大家放心的使用HTML5的文档类型就好了。
<meta charset="UTF-8" />
gb2312 简单中文 包括6763个汉字
BIG5 繁体中文 港澳台等用
GBK包含全部中文字符 是GB2312的扩展,加入对繁体字的支持,兼容GB2312
UTF-8则包含全世界所有国家需要用到的字符
记住一点,以后我们统统使用UTF-8 字符集, 这样就避免出现字符集不统一而引起乱码的情况了。
白话: 所谓标签语义化,就是指标签的含义。
-
方便代码的阅读和维护
-
同时让浏览器或是网络爬虫可以很好地解析,从而更好分析其中的内容
-
核心:合适的地方给一个最为合理的标签。
语义是否良好: 当我们去掉CSS之后,网页结构依然组织有序,并且有良好的可读性。
白话,一眼看去,就知道那个是重点,结构是什么,知道每块的内容是干啥的。
遵循的原则:先确定语义的HTML ,再选合适的CSS。
首先 HTML和CSS是两种完全不同的语言,我们学的是结构,就只写HTML标签,认识标签就可以了。 不会再给结构标签指定样式了。
9.1
排版标签主要和css搭配使用,显示网页结构的标签,是网页布局最常用的标签。有标题标签(<hn>),段落标签(<p>)
为了使网页更具有语义化,我们经常会在页面中用到标题标签,HTML提供了6个等级的标题,即
<h1>、<h2>、<h3>、<h4>、<h5> 和 <h6>
标题标签语义: 作为标题使用,并且依据重要性递减
其基本语法格式如下:
<hn> 标题文本 </hn>
注意: h1 标签因为重要,尽量少用,不要动不动就向你扔了一个h1。 一般h1 都是给logo使用,或者页面中最重要标题信息。
单词缩写: paragraph 段落 [ˈpærəgræf] 无须记这个单词
在网页中要把文字有条理地显示出来,离不开段落标签,就如同我们平常写文章一样,整个网页也可以分为若干个段落,而段落的标签就是
<p> 文本内容 </p>
是HTML文档中最常见的标签,默认情况下,文本在一个段落中会根据浏览器窗口的大小自动换行。
单词缩写: horizontal 横线 [ˌhɔrəˈzɑntl] 同上
<hr />是单标签
在网页中显示默认样式的水平线。
练习
40.6摄氏度:上海创出140年气象史上高温新纪录 2020年07月27日 10:58:26来源:新华网 新华网上海7月26日电(记者李荣)26日13时36分至47分这一时间段,上海徐家汇气象观测站测得当日最高温达40.6摄氏度。这是上海有气象记录以来140年的高温新纪录,打破了此前1934年创下的40.2摄氏度的历史极值。 上海已经连续2天发出了最高等级的红色高温警报。上海中心气象台首席服务官满莉萍说,今年副热带高压强度特别强,对上海及江南地区的控制“实在太稳定了”,整个7月份基本上都处在它的势力范围之内。25日上海已出现了气象史上7月份“第四高”的高温值,这使得26日的“基础”气温就很高,超过了30摄氏度,然后不断地升温。此外,26日白天风小,又吹的是西南风,特别是在中午之后这一个最易出现高温的时段,光照又比较强,所以气温“直线飙升”,一举冲破历史极值,出现了“创纪录”的极端酷暑天。 在上海历史上,出现40摄氏度以上极端高温的几率并不大。根据相关资料,中心城区徐家汇观测站 140年来仅出现了5次记录,除了这一次的新纪录,还有就是1934年7月12日的40.2摄氏度;1934年8月25日、2009年7月20日、2010年8月13日的40摄氏度。 由于气温实在太高,上海26日下午不少地区出现了热对流天气。气象台说,首先是浦东地区,下起了热雷雨。到15时05分,全市大部分地区出现了分散性的雷电活动和热雷雨,中心城区徐家汇等地都响起了隆隆的雷声。
9.1.4 换行标签(熟记)
单词缩写: break 打断 ,换行
在HTML中,一个段落中的文字会从左到右依次排列,直到浏览器窗口的右端,然后自动换行。如果希望某段文本强制换行显示,就需要使用换行标签
<br />
这时如果还像在word中直接敲回车键换行就不起作用了。
练习
div 就是 division 的缩写 分割, 分区的意思 其实有很多div 来组合网页。
span, 跨度,跨距;范围
语法格式:
<div> 这是头部 </div> <span>今日价格</span>
在网页中,有时需要为文字设置粗体、斜体或下划线效果,这时就需要用到HTML中的文本格式化标签,使文字以特殊的方式显示。
b i s u 只有使用 没有 强调的意思 strong em del ins 语义更强烈
属性就是特性 比如 手机的颜色 手机的尺寸 ,总结就是手机的。。
使用HTML制作网页时,如果想让HTML标签提供更多的信息,可以使用HTML标签的属性加以设置。其基本语法格式如下:
<标签名 属性1="属性值1" 属性2="属性值2" …> 内容 </标签名>
在上面的语法中,
- 标签可以拥有多个属性,必须写在开始标签中,位于标签名后面。
- 任何标签的属性都有默认值,省略该属性则取默认值。
采取 键值对 的格式 key="value" 的格式
比如:
<hr width="400" />
属性 是 宽度,值 是 400。
提倡: 尽量不使用 样式属性。
9.4
单词缩写: image 图像
该语法中src属性用于指定图像文件的路径和文件名,他是img标签的必需属性。
<img src="图像URL" />
9.5
单词缩写: anchor 的缩写 [ˈæŋkə(r)] 。基本解释 锚, 铁锚 的
<a href="跳转目标" target="目标窗口的弹出方式">文本或图像</a>
href:用于指定链接目标的url地址,当为标签应用href属性时,它就具有了超链接的功能。 Hypertext Reference的缩写。意思是超文本引用
target:用于指定链接页面的打开方式,其取值有self和blank两种,其中_self为默认值,_blank为在新窗口中打开方式。
注意:
- 外部链接 需要添加 http:// www.baidu.com
- 内部链接 直接链接内部页面名称即可 比如 `< a href="index.html">` 首页 </a >
- 如果当时没有确定链接目标时,通常将链接标签的href属性值定义为“#”(即href="#"),表示该链接暂时为一个空链接。
- 不仅可以创建文本超链接,在网页中各种网页元素,如图像、表格、音频、视频等都可以添加超链接。
通过创建锚点链接,用户能够快速定位到目标内容。
1、使用“a href=”#id名>“链接文本"</a>创建链接文本(被点击的)
<a href="#two">
2、使用相应的id名标注跳转目标的位置。
<h3 id="two">第2集</h3>
base 可以设置整体链接的打开状态
base 写到 <head> </head> 之间
把所有的连接 都默认添加 target="_blank"
9.7
<!-- 注释语句 --> ctrl + / 或者 ctrl +shift + /
注释内容不会显示在浏览器窗口中,但是作为HTML文档内容的一部分,也会被下载到用户的计算机上,查看源代码时就可以看到。
注释重要性:
根目录 当前目录
路径可以分为: 相对路径和绝对路径
10.1
-
图像文件和HTML文件位于同一文件夹:只需输入图像文件的名称即可,如<img src="logo.gif" />。
-
图像文件位于HTML文件的下一级文件夹:输入文件夹名和文件名,之间用“/”隔开,如<img src="img/img01/logo.gif" />。
-
图像文件位于HTML文件的上一级文件夹:在文件名之前加入“../” ,如果是上两级,则需要使用 “../ ../”,以此类推,如<img src="../logo.gif" />。
10.2 绝对路径
“D:\web\img\logo.gif”,或完整的网络地址,例如“http://www.itcast.cn/images/logo.gif”。
十一、
容器里面装载着文字或图表的一种形式,叫列表。
列表最大的特点就是 整齐 、整洁、 有序
<ul> <li>列表项1</li> <li>列表项2</li> <li>列表项3</li> ...... </ul>
比如下面这些,新闻是没有顺序的,不用排队,先到先得,后发布先显示。
注意:
- <ul></ul>中只能嵌套<li></li>,直接在<ul></ul>标签中输入其他标签或者文字的做法是不被允许的。
- <li>与</li>之间相当于一个容器,可以容纳所有元素。
- 无序列表会带有自己样式属性,放下那个样式,一会让CSS来!
11.2
<ol> <li>列表项1</li> <li>列表项2</li> <li>列表项3</li> ...... </ol>
所有特性基本与ul 一致。
但是实际工作中, 较少用。
11.3
定义列表常用于对术语或名词进行解释和描述,定义列表的列表项前没有任何项目符号。其基本语法如下:
<dl> <dt>名词1</dt> <dd>名词1解释1</dd> <dd>名词1解释2</dd> ... <dt>名词2</dt> <dd>名词2解释1</dd> <dd>名词2解释2</dd> ... </dl>
实例
表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。
<table> <tr> <td>单元格内的文字</td> ... </tr> ... </table>
在上面的语法中包含三对HTML标签,分别为 <table></table>、<tr></tr>、<td></td>,他们是创建表格的基本标签,缺一不可,下面对他们进行具体地解释
- table用于定义一个表格。
- tr 用于定义表格中的一行,必须嵌套在 table标签中,在 table中包含几对 tr,就有几行表格。
- td /td:用于定义表格中的单元格,必须嵌套在<tr></tr>标签中,一对 <tr> </tr>中包含几对<td></td>,就表示该行中有多少列(或多少个单元格)。
注意:
- <tr></tr>中只能嵌套<td></td>
- <td></td>标签,他就像一个容器,可以容纳所有的元素
12.2
一般情况下,三参为0。border,cellpadding,cellspacing都为0
12.3
在使用表格进行布局时,可以将表格划分为头部、主体和页脚(页脚因为有兼容性问题,我们不在赘述),具体 如下所示:
<thead></thead>:用于定义表格的头部。
必须位于<table></table> 标签中,一般包含网页的logo和导航等头部信息。
<tbody></tbody>:用于定义表格的主体。自动生成
位于<table></table>标签中,一般包含网页中除头部和底部之外的其他内容。
定义和用法
<table> <caption>我是表格标题</caption> </table>
caption 标签必须紧随 table 标签之后。您只能对每个表格定义一个标题。通常这个标题会被居中于表格之上。
跨行合并:rowspan 跨列合并:colspan
将多个内容合并的时候,就会有多余的东西,把它删除。 例如 把 3个 td 合并成一个, 那就多余了2个,需要删除。
公式: 删除的个数 = 合并的个数 - 1
合并的顺序:先上 先左
<table width="400" height="100" border="1"> <tr> <td>123</td> <td>abc</td> <td rowspan="3">abc</td> </tr> <tr> <td>123</td> <td>123</td> </tr> <tr> <td>123</td> <td>abc</td> </tr>
在我们网页中, 我们也需要跟用户进行交互,收集用户资料,此时也需要表单。
在HTML中,一个完整的表单通常由表单控件(也称为表单元素)、提示信息和表单域3个部分构成。
表单控件:
提示信息:
一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。
表单域:
他相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的url地址,以及数据提交到服务器的方法。如果不定义表单域,表单中的数据就无法传送到后台服务器。
13.1
type 说明了属于哪种表单
radio 如果是一组,我们必须给他们命名相同的名字 name,这样就可以多个选其中的一个啦。
size 不用,一把用css控制
作用: 用于绑定一个表单元素, 当点击label标签的时候, 被绑定的表单元素就会获得输入焦点
如何绑定元素呢?
for 属性规定 label 与哪个表单元素绑定。
<label> 用户名: <input type='text'> </label>
<label for="male">Male</label> <input type="radio" name="sex" id="male" value="male">
13.3
text 文本框,只能写一行文本。
<textarea cols="每行中的字符数" rows="显示的行数"> 文本内容 </textarea>
13.4
使用select控件定义下拉菜单的基本语法格式如下
<select> <option>选项1</option> <option>选项2</option> <option>选项3</option> ... </select>
-
<select></select>中至少应包含一对<option></option>。
-
在option 中定义selected =" selected "时,当前项即为默认选中项。
<form action="url地址" method="提交方式" name="表单名称"> 各种表单控件 </form>
-
Action 在表单收集到信息后,需要将信息传递给服务器进行处理,action属性用于指定接收并处理表单数据的服务器程序的url地址。
-
method 用于设置表单数据的提交方式,其取值为get或post。
-
name 用于指定表单的名称,以区分同一个页面中的多个表单。
注意: 每个表单都应该有自己表单域。
案例
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>世纪佳缘-你在我也在</title> </head> <body> <table width="600" align="center" cellspacing="0" cellpadding="0"> <tr height="60"> <th colspan="2"> 青春不常在,抓紧谈恋爱 </th> </tr> <tr height="40"> <td>性别</td> <td> <input type="radio" name="sex" id=""> <img src="images/man.jpg" alt=""> 男 <input type="radio" name="sex" id=""><img src="images/women.jpg" alt=""> 女 </td> </tr> <tr height="40"> <td>生日</td> <td> <select name="" id=""> <option value="">请选择年</option> <option value="">1990</option> <option value="">1991</option> <option value="">1992年</option> </select> <select name="" id=""> <option value="">请选择月</option> <option value="">1月</option> <option value="">2月</option> <option value="">3月</option> </select> <select name="" id=""> <option value="">请选择日</option> <option value="">1</option> <option value="">2</option> <option value="">3</option> </select> </td> </tr> <tr height="40"> <td>所在地区</td> <td> <input type="text" value="北京"> </td> </tr> <tr height="40"> <td>婚姻状况</td> <td> <input type="radio" name="merry"> 未婚 <input type="radio" name="merry"> 离婚 <input type="radio" name="merry"> 丧偶 </td> </tr> <tr height="40"> <td>学历</td> <td> <input type="text" value="小学"> </td> </tr> <tr height="40"> <td>月薪</td> <td> <input type="text" value="5000-10000"> </td> </tr> <tr height="40"> <td>手机号</td> <td> <input type="text"> </td> </tr> <tr height="40"> <td>昵称</td> <td> <input type="text"> </td> </tr> <tr height="40"> <td>喜欢的类型</td> <td> <input type="checkbox" name="merry"> 妩媚 <input type="checkbox" name="merry"> 柔美 <input type="checkbox" name="merry"> 可爱 <input type="checkbox" name="merry"> 小鲜肉 <input type="checkbox" name="merry"> 型男 <input type="checkbox" name="merry"> 气质 </td> </tr> <tr height="40"> <td>自我介绍</td> <td> <textarea name="" id="" cols="50" rows="10"></textarea> </td> </tr> <tr height="60"> <td></td> <td> <input type="image" src="images/btn.png"> </td> </tr> <tr height="60"> <td></td> <td> <input type="checkbox" checked="checked"> <a href="# "></a>我同意注册条款和会员加入标准</a> </td> </tr> <tr height="40"> <td></td> <td> <a href="login.html" target="_blank">我是会员,立即登录</a> </td> </tr> <tr height="40"> <td></td> <td> <h3> 我承诺</h3> <ul> <li>年满18岁、单身</li> <li>抱着严肃的态度</li> <li>真诚寻找另一半</li> </ul> </td> </tr> </table> </body> </html>
经常查阅文档是一个非常好的学习习惯。
W3C : http://www.w3school.com.cn/ (公益网站,并不是官网)
MDN: https://developer.mozilla.org/zh-CN/ (官方网站)
十五、总结(xmind)