HTML

时间:2024-03-12 17:57:41

一、认识网页

  网页主要由文字、图像和超链接等元素构成。当然,除了这些元素,网页中还可以包含音频、视频以及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 标准

  通过以上浏览器的内核不同,我们知道他们工作原理、解析肯定不同,显示就会有差别。

Web 标准的好处

1、让Web的发展前景更广阔 
2、内容能被更广泛的设备访问
3、更容易被搜寻引擎搜索
4、降低网站流量费用
5、使网站更易于维护
6、提高页面浏览速度

Web 标准构成

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 初识

HTML(英文Hyper Text Markup Language的缩写)中文译为“超文本标签语言”。是用来描述网页的一种语言。

所谓超文本,因为它可以加入图片、声音、动画、多媒体等内容,不仅如此,它还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接。

<h1> 我是一个大标题 </h1>

注意: 体会 文本 标签 语言 几个词语

  • HTML 指的是超文本标记语言 (Hyper Text Markup Language)

  • HTML 不是一种编程语言,而是一种标记语言 (markup language)

  • 标记语言是一套标记标签 (markup tag)

总结: HTML 作用就是用标记标签来描述网页,把网页内容在浏览器中展示出来。

5.1 HTML骨架格式

<HTML>   
    <head>     
        <title></title>
    </head>
    <body>
    </body>
</HTML>

详细

1 HTML标签:

作用所有HTML中标签的一个根节点。 最大的标签   根标签

2 head标签: 文档的头部

文档的头部描述了文档的各种属性和信息,包括文档的标题、在 Web 中的位置以及和其他文档的关系等。绝大多数文档头部包含的数据都不会真正作为内容显示给读者。

注意在head标签中我们必须要设置的标签是title

3.title标签: 文档的标题

作用:让页面拥有一个属于自己的标题。

4.body标签:文档的主体  以后我们的页面内容 基本都是放到body里面的

body 元素包含文档的所有内容(比如文本、超链接、图像、表格和列表等等。)

5.1.1 head内常用标签

标签意义
<title></title> 定义网页标题
<style></style> 定义内部样式表
<script></script> 定义JS代码或引入外部JS文件
<link/> 引入外部样式表文件
<meta/> 定义网页原信息

meta标签

Meta标签介绍:

  • <meta>元素可提供有关页面的元信息(mata-information),针对搜索引擎和更新频度的描述和关键词。
  • <meta>标签位于文档的头部,不包含任何内容。
  • <meta>提供的信息是用户不可见的。

meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name 属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。 

1.http-equiv属性:相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。

<!--2秒后跳转到对应的网址,注意引号-->
<meta http-equiv="refresh" content="2;URL=https://www.oldboyedu.com">
<!--指定文档的编码类型-->
<meta http-equiv="content-Type" charset=UTF8">
<!--告诉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="老男孩教育Python学院">

5.2 HTML标签分类

  在HTML页面中,带有“< >”符号的元素被称为HTML标签,如上面提到的 HTMLheadbody都是HTML骨架结构标签。所谓标签就是放在“< >” 标签符中表示某个功能的编码命令,也称为HTML标签或 HTML元素。

双标签

<标签名> 内容 </标签名>

该语法中“<标签名>”表示该标签的作用开始,一般称为“开始标签(start tag)”,“</标签名>” 表示该标签的作用结束,一般称为“结束标签(end tag)”。和开始标签相比,结束标签只是在前面加了一个关闭符“/”。

比如 <body>我是文字  </body>

单标签

<标签名 />

单标签也称空标签,是指用一个标签符号即可完整地描述某个功能的标签。

比如  <br /> 、<hr /> 、 <img / >

5.3 HTML标签关系

标签的相互关系就分为两种:

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>

<!DOCTYPE html> 

  这句话就是告诉我们使用哪个html版本? 我们使用的是 html 5 的版本。 html有很多版本,那我们应该告诉用户和浏览器我们使用的版本号。

  标签位于文档的最前面,用于向浏览器说明当前文档使用哪种 HTML 或 XHTML 标准规范,必需在开头处使用标签为所有的XHTML文档指定XHTML版本和类型,只有这样浏览器才能按指定的文档类型进行解析。

  注意: 一些老网站可能用的还是老版本的文档类型比如 XHTML之类的,但是我们学的是HTML5,而且HTML5的文档类型兼容很好(向下兼容的原则),所以大家放心的使用HTML5的文档类型就好了。

七、字符集

<meta charset="UTF-8" />

utf-8是目前最常用的字符集编码方式,常用的字符集编码方式还有gbk和gb2312。

gb2312 简单中文 包括6763个汉字

BIG5 繁体中文 港澳台等用

GBK包含全部中文字符 是GB2312的扩展,加入对繁体字的支持,兼容GB2312

UTF-8则包含全世界所有国家需要用到的字符

记住一点,以后我们统统使用UTF-8 字符集, 这样就避免出现字符集不统一而引起乱码的情况了。

八、HTML标签的语义化

  白话: 所谓标签语义化,就是指标签的含义。

为什么要有语义化标签

  1. 方便代码的阅读和维护

  2. 同时让浏览器或是网络爬虫可以很好地解析,从而更好分析其中的内容

  3. 使用语义化标签会具有更好地搜索引擎优化

核心:合适的地方给一个最为合理的标签。

语义是否良好: 当我们去掉CSS之后,网页结构依然组织有序,并且有良好的可读性。

白话,一眼看去,就知道那个是重点,结构是什么,知道每块的内容是干啥的。

遵循的原则:先确定语义的HTML ,再选合适的CSS

九、HTML常用标签

  首先 HTML和CSS是两种完全不同的语言,我们学的是结构,就只写HTML标签,认识标签就可以了。 不会再给结构标签指定样式了。

  HTML标签有很多,这里我们学习最为常用的,后面有些较少用的,我们可以查下手册就可以了。

 9.1 排版标签

   排版标签主要和css搭配使用,显示网页结构的标签,是网页布局最常用的标签。有标题标签(<hn>),段落标签(<p>)

9.1.1 标题标签 (熟记)

  单词缩写: head 头部. 标题 title 文档标题

  为了使网页更具有语义化,我们经常会在页面中用到标题标签,HTML提供了6个等级的标题,即

<h1><h2><h3><h4><h5> <h6>

  标题标签语义:  作为标题使用,并且依据重要性递减

  其基本语法格式如下:

<hn>   标题文本   </hn>

  注意: h1 标签因为重要,尽量少用,不要动不动就向你扔了一个h1。 一般h1 都是给logo使用,或者页面中最重要标题信息。

9.1.2 段落标签( 熟记)

  单词缩写: paragraph 段落 [ˈpærəgræf] 无须记这个单词

  在网页中要把文字有条理地显示出来,离不开段落标签,就如同我们平常写文章一样,整个网页也可以分为若干个段落,而段落的标签就是

<p>  文本内容  </p>

  是HTML文档中最常见的标签,默认情况下,文本在一个段落中会根据浏览器窗口的大小自动换行。

9.1.3 水平线标签(认识)

  单词缩写: horizontal 横线 [ˌhɔrəˈzɑntl] 同上

  在网页中常常看到一些水平线将段落与段落之间隔开,使得文档结构清晰,层次分明。这些水平线可以通过插入图片实现,也可以简单地通过标签来完成,<hr />就是创建横跨网页水平线的标签。其基本语法格式如下:

<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中直接敲回车键换行就不起作用了。

练习

9.1.5 div span标签(重点)

div标签用来定义一个块级元素,并无实际的意义。主要通过CSS样式为其赋予不同的表现。
span标签用来定义内联(行内)元素,并无实际的意义。主要通过CSS样式为其赋予不同的表现。

块级元素与行内元素的区别:
  所谓块元素,是以另起一行开始渲染的元素,行内元素则不需另起一行。如果单独在网页中插入这两个元素,不会对页面产生任何的影响。
  这两个元素是专门为定义CSS样式而生的。

注意:

  关于标签嵌套:通常块级元素可以包含内联元素或某些块级元素,但内联元素不能包含块级元素,它只能包含其它内联元素。

  p标签不能包含块级标签,p标签也不能包含p标签。

语法格式:

<div> 这是头部 </div>    <span>今日价格</span>

9.2 文本格式化标签(熟记)

  在网页中,有时需要为文字设置粗体、斜体或下划线效果,这时就需要用到HTML中的文本格式化标签,使文字以特殊的方式显示。

 

b i s u 只有使用 没有 强调的意思 strong em del ins 语义更强烈

9.3 标签属性

属性就是特性 比如 手机的颜色 手机的尺寸 ,总结就是手机的。。

使用HTML制作网页时,如果想让HTML标签提供更多的信息,可以使用HTML标签的属性加以设置。其基本语法格式如下:

<标签名 属性1="属性值1" 属性2="属性值2"> 内容 </标签名>

在上面的语法中,

  1. 标签可以拥有多个属性,必须写在开始标签中,位于标签名后面。
  2. 属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开。
  3. 任何标签的属性都有默认值,省略该属性则取默认值。

采取 键值对 的格式 key="value" 的格式

比如:

<hr width="400" />

属性 是 宽度,值 是 400。

提倡: 尽量不使用 样式属性。

9.4 图像标签img (重点)

  单词缩写: image 图像

  HTML网页中任何元素的实现都要依靠HTML标签,要想在网页中显示图像就需要使用图像标签,接下来将详细介绍图像标签<img />以及和他相关的属性。其基本语法格式如下:

该语法中src属性用于指定图像文件的路径和文件名,他是img标签的必需属性。

<img src="图像URL" />

9.5 链接标签(重点)

  单词缩写: anchor 的缩写 [ˈæŋkə(r)] 。基本解释 锚, 铁锚 的

  在HTML中创建超链接非常简单,只需用标签环绕需要被链接的对象即可,其基本语法格式如下:

<a href="跳转目标" target="目标窗口的弹出方式">文本或图像</a>

href:用于指定链接目标的url地址,当为标签应用href属性时,它就具有了超链接的功能。 Hypertext Reference的缩写。意思是超文本引用

target:用于指定链接页面的打开方式,其取值有self和blank两种,其中_self为默认值,_blank为在新窗口中打开方式。

href属性指定目标网页地址。该地址可以有几种类型:

  • 绝对URL - 指向另一个站点(比如 href="http://www.jd.com)
  • 相对URL - 指当前站点中确切的路径(href="index.htm")
  • 锚URL - 指向页面中的锚(href="#top")

target:

  • _blank表示在新标签页中打开目标网页
  • _self表示在当前标签页中打开目标网页

注意:

  1. 外部链接 需要添加 http:// www.baidu.com
  2. 内部链接 直接链接内部页面名称即可 比如 `< a href="index.html">` 首页 </a >
  3. 如果当时没有确定链接目标时,通常将链接标签的href属性值定义为“#”(即href="#"),表示该链接暂时为一个空链接。
  4. 不仅可以创建文本超链接,在网页中各种网页元素,如图像、表格、音频、视频等都可以添加超链接。

9.5.1 锚点定位 (难点)

  通过创建锚点链接,用户能够快速定位到目标内容。 创建锚点链接分为两步:

1、使用“a href=”#id名>“链接文本"</a>创建链接文本(被点击的)

<a href="#two"> 

2、使用相应的id名标注跳转目标的位置。  

<h3 id="two">第2集</h3>

9.5.2 base 标签 基本的

  base 可以设置整体链接的打开状态

  base 写到 <head> </head> 之间

  把所有的连接 都默认添加 target="_blank"

 

9.6 特殊字符标签 (理解)

9.7 注释标签

  在HTML中还有一种特殊的标签——注释标签。如果需要在HTML文档中添加一些便于阅读和理解但又不需要显示在页面中的注释文字,就需要使用注释标签。其基本语法格式如下:

<!-- 注释语句 -->   ctrl + /       或者 ctrl +shift + / 

  注释内容不会显示在浏览器窗口中,但是作为HTML文档内容的一部分,也会被下载到用户的计算机上,查看源代码时就可以看到。

  注释重要性:

十、路径(重点、难点)

  实际工作中,通常新建一个文件夹专门用于存放图像文件,这时再插入图像,就需要采用“路径”的方式来指定图像文件的位置。

  根目录 当前目录

  路径可以分为: 相对路径和绝对路径

10.1 相对路径

以引用文件之网页所在位置为参考基础,而建立出的目录路径。因此,当保存于不同目录的网页引用同一个文件时,所使用的路径将不相同,故称之为相对路径。

  1. 图像文件和HTML文件位于同一文件夹:只需输入图像文件的名称即可,如<img src="logo.gif" />

  2. 图像文件位于HTML文件的下一级文件夹:输入文件夹名和文件名,之间用“/”隔开,如<img src="img/img01/logo.gif" />

  3. 图像文件位于HTML文件的上一级文件夹:在文件名之前加入“../” ,如果是上两级,则需要使用 “../ ../”,以此类推,如<img src="../logo.gif" />

10.2 绝对路径

  绝对路径以Web站点根目录为参考基础的目录路径。之所以称为绝对,意指当所有网页引用同一个文件时,所使用的路径都是一样的

  “D:\web\img\logo.gif”,或完整的网络地址,例如“http://www.itcast.cn/images/logo.gif”。

十一、列表标签

  把…制成表,以表显示

  容器里面装载着文字或图表的一种形式,叫列表。

  列表最大的特点就是 整齐 、整洁、 有序

11.1 无序列表 ul (重点)

  无序列表的各个列表项之间没有顺序级别之分,是并列的。其基本语法格式如下:

<ul type="disc">
  <li>列表项1</li>
  <li>列表项2</li>
  <li>列表项3</li>
  ......
</ul>

type属性:

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

  比如下面这些,新闻是没有顺序的,不用排队,先到先得,后发布先显示。

 

注意:

  1. <ul></ul>中只能嵌套<li></li>,直接在<ul></ul>标签中输入其他标签或者文字的做法是不被允许的。
  2. <li>与</li>之间相当于一个容器,可以容纳所有元素
  3. 无序列表会带有自己样式属性,放下那个样式,一会让CSS来!

11.2 有序列表 ol (了解)

  有序列表即为有排列顺序的列表,其各个列表项按照一定的顺序排列定义,有序列表的基本语法格式如下:

<ol type="1" start="2">
  <li>列表项1</li>
  <li>列表项2</li>
  <li>列表项3</li>
  ......
</ol>

type属性:

  • 1 数字列表,默认值
  • A 大写字母
  • a 小写字母
  • Ⅰ大写罗马
  • ⅰ小写罗马

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(会使用)

  表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。

12.1 创建表格

  在HTML网页中,要想创建表格,就需要使用表格相关的标签。创建表格的基本语法格式如下:

<table>
  <tr>
    <td>单元格内的文字</td>
    ...
  </tr>
  ...
</table>

  在上面的语法中包含三对HTML标签,分别为 <table></table><tr></tr><td></td>,他们是创建表格的基本标签,缺一不可,下面对他们进行具体地解释

  1. table用于定义一个表格。​
  2. tr 用于定义表格中的一行,必须嵌套在 table标签中,在 table中包含几对 tr,就有几行表格。​
  3. td /td:用于定义表格中的单元格,必须嵌套在<tr></tr>标签中,一对 <tr> </tr>中包含几对<td></td>,就表示该行中有多少列(或多少个单元格)。

注意

  1. <tr></tr>中只能嵌套<td></td>
  2. <td></td>标签,他就像一个容器,可以容纳所有的元素

12.2 表格属性

一般情况下,三参为0。border,cellpadding,cellspacing都为0

12.3 表头标签

  表头一般位于表格的第一行或第一列,其文本加粗居中,如下图所示,即为设置了表头的表格。设置表头非常简单,只需用表头标签 th  /th 替代相应的单元格标签td</td即可。

 

12.4 表格结构(了解)

  在使用表格进行布局时,可以将表格划分为头部、主体和页脚(页脚因为有兼容性问题,我们不在赘述),具体 如下所示:

<thead></thead>:用于定义表格的头部。

  必须位于<table></table> 标签中,一般包含网页的logo和导航等头部信息。

<tbody></tbody>:用于定义表格的主体。自动生成

  位于<table></table>标签中,一般包含网页中除头部和底部之外的其他内容。

 

12.5 表格标题

  表格的标题: caption

  定义和用法

<table>
   <caption>我是表格标题</caption>
</table>

  caption 标签必须紧随 table 标签之后。您只能对每个表格定义一个标题。通常这个标题会被居中于表格之上。

12.6 合并单元格(难点)

  跨行合并: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 input 控件(重点)

  在上面的语法中,input /标签为单标签,type属性为其最基本的属性,其取值有多种,用于指定不同的控件类型。除了type属性之外,input /标签还可以定义很多其他的属性,其常用属性如下表所示。

 

type属性值表现形式对应代码
text 单行输入文本 <input type=text" />
password 密码输入框 <input type="password"  />
date 日期输入框 <input type="date" />
checkbox 复选框 <input type="checkbox" checked="checked"  />
radio 单选框 <input type="radio"  />
submit 提交按钮 <input type="submit" value="提交" />
reset 重置按钮 <input type="reset" value="重置"  />
button 普通按钮 <input type="button" value="普通按钮"  />
hidden 隐藏输入框 <input type="hidden"  />
file 文本选择框 <input type="file"  />

 属性说明:

  • name:表单提交时的“键”,注意和id的区别
  • value:表单提交时对应项的值
    • type="button", "reset", "submit"时,为按钮上显示的文本年内容
    • type="text","password","hidden"时,为输入框的初始值
    • type="checkbox", "radio", "file",为输入相关联的值
  • checked:radio和checkbox默认被选中的项
  • readonly:text和password设置只读
  • disabled:所有input均适用
  • placeholder:输入框中占位

radio 如果是一组,我们必须给他们命名相同的名字 name,这样就可以多个选其中的一个啦。

13.2 label标签(理解)

  label 标签为 input 元素定义标注(标签)。

  作用: 用于绑定一个表单元素, 当点击label标签的时候, 被绑定的表单元素就会获得输入焦点

  如何绑定元素呢?

  for 属性规定 label 与哪个表单元素绑定。

写法一:
<label> 用户名: 
<input type=\'text\'> 
</label>

写法二:
<label for="male">Male</label>
<input type="radio" name="sex" id="male" value="male">

13.3 textarea控件(文本域)

  text 文本框,只能写一行文本。

  如果需要输入大量的信息,就需要用到textarea/textarea标签。通过textarea控件可以轻松地创建多行文本输入框,其基本语法格式如下:

<textarea cols="每行中的字符数" rows="显示的行数">
  文本内容
</textarea>

13.4 下拉菜单

  使用select控件定义下拉菜单的基本语法格式如下

<select>
    <optgroup label="北京">
          <option>昌平</option>
          <option>朝阳</option>
          <option>海淀</option>
          <option>丰台</option>
    </optgroup>
    <optgroup label="四川">
          <option>攀枝花</option>
          <option>自贡</option>
          <option>绵阳</option>
    </optgroup>
  ...
</select>

注意:

  1. <select></select>至少应包含一对<option></option>

  2. 在option 中定义selected =" selected "时,当前项即为默认选中项。

13.5 表单域

  在HTML中,form标签被用于定义表单域,即创建一个表单,以实现用户信息的收集和传递,form中的所有内容都会被提交给服务器。创建表单的基本语法格式如下:

<form action="url地址" method="提交方式" name="表单名称",enctype="multipart/form-data">
  各种表单控件
</form>
accept-charset 规定在被提交表单中使用的字符集(默认:页面字符集)。
action 规定向何处提交表单的地址(URL)(提交页面)。
autocomplete 规定浏览器应该自动完成表单(默认:开启)。
enctype 规定被提交数据的编码(默认:url-encoded)。
method 规定在提交表单时所用的 HTTP 方法(默认:GET)。
name 规定识别表单的名称(对于 DOM 使用:document.forms.name)。
novalidate 规定浏览器不验证表单。
target 规定 action 属性中地址的目标(默认:_self)。

常用属性:

  1. Action 在表单收集到信息后,需要将信息传递给服务器进行处理,action属性用于指定接收并处理表单数据的服务器程序的url地址。

  2. method 用于设置表单数据的提交方式,其取值为get或post。

  3. name 用于指定表单的名称,以区分同一个页面中的多个表单。

注意: 每个表单都应该有自己表单域。

案例

<!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)