HTML(3)

来源:互联网 发布:java获取当前年月日 编辑:程序博客网 时间:2024/05/17 06:00

复习

网页的原理

用户输入网址之后,对应的服务器就发现有人请求我的网页了,所以这个服务器就会把网页和相关的图片、js文件、css文件、flash文件都通过HTTP协议传输到用户的电脑里面。HTML页面在用户的电脑里面进行渲染。HTTP协议指的是超文本传输协议。每一个网址,都对应了服务器上面的确定的文件。

纯文本文件

只有内容,没有样式。常见的纯文本文件有:.txt、.html、.js、.css、.java。没有语义,即使你这个文件中的内容排版再清晰,那也是人认为的,实际上纯文本文件中的所有的文字生而平等,没有任何的语义。

HTML

超文本标记语言,HyperText Markup
Language。就是通过标签对儿,给纯文本增加语义。也就是说,用文本给文本增加语义,所以这个叫做“超文本”。而有一对儿对儿标签,也成为“标记”,所以就是“超文本标记语言”。

HTML中除了语义,其他什么都没有:没有样式、没有交互、没有行为。

HTML的基本骨架

标准骨架

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>Document</title></head><body></body></html>

文档声明头

任何一个标准的HTML页面,第一行一定是一个以<!DOCTYPE ……>开头的语句。
这一行,就是文档声明头DocType Declaration此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。

到底有哪些规范呢?

首先我们先确定一件事儿,我们现在学习的是HTML4.01这个版本,这个版本是IE6开始兼容的。HTML5是IE9开开始兼容的。但是IE6、7、8这些浏览器还不能过早的淘汰,所以这几年网页还是应该用HTML4.01来制作。后面将知道手机、移动端的网页,就可以使用HTML5了。

HTML4.01里面有两大种规范,每大种规范里面又各有3种小规范。所以一共6种规范(见下面):

HTML4.01里面规定了普通、XHTML两大种规范。
HTML觉得自己有一些规定不严谨,比如,标签是否可以用大写字母呢?
<H1> </H1>
所以,HTML就觉得,把一些规范严格的标准,又制定了一个XHTML1.0。在XHTML中的字母X,表示“严格的”。

总结一下,一共有6种DTD,说白了,HTML第一行语句一共有6种:

大规范里面的小规范HTML4.01Strict 严格的,体现在一些标签不能使用,比如u

Transitional 普通的

Frameset 带有框架的页面XHTML1.0严格体现在小写标签、闭合、引号Strict 严格的,体现在一些标签不能使用,比如u

Transitional 普通的

Frameset 带有框架的页面


Strict表示“严格的”,这种模式里面的要求更为严格。这种严格体现在哪里?有一些标签不能使用。

比如,u标签,就是可以让一个本文加上下划线,但是这和HTML的本质有冲突,因为HTML只能负责语义,不能负责样式,而u这个下划线是样式。所以,在strict中是不能使用u标签的。
<u>嘻嘻嘻嘻嘻</u>
怎么给文本增加下划线呢?今后的css将使用css属性来解决。

Transitional表示“普通的”,这种模式就是没有一些别的规范。

Frameset表示“框架”,在框架的页面使用。

课程中学习的就是XHTML1.0中的transitional版本。因为我们的页面中偶尔要使用一些类似u这种标签(当做CSS钩子)。

sublime输入的html:xt x表示XHTML,t表示transitional

HTML5中极大的简化了DTD,也就是说HTML5中就没有XHTML了。

字符集

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

字符集用meta标签定义,meta表示“元”。“元”配置,就是表示基本的配置项目。

charset就是charactor set“字符集”的意思

中文能够使用的字符集两种:
第一种:UTF-8
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

第二种:gb2312
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
也可以写成gbk
<meta http-equiv="Content-Type" content="text/html;charset=gbk">

字符集也就是有两个字库UTF-8gb2312
UTF-8是国际通用字库,里面涵盖了所有地球上所有人类的语言文字,比如汉语、英语、韩语……
gb2312 是国标,是中国的字库,里面仅涵盖了汉字和一些常用外文,比如日文片假名,和常见的符号。

字库规模: UTF-8(字全) > gb2312(只有汉字)

我们用meta标签可以声明当前这个html文档的字库,但是一定要和保存的类型一样,否则乱码!(重点)

当我们不设置的时候,sublime默认类型就是UTF-8。而一旦更改为gb2312的时候,就一定要记得设置一下sublime的保存类型: 文件→ set File Encoding to → Chinese Simplified(GBK)

注意,由于UTF-8里面保存了世界上所有人类语言,所以描述一个汉字需要的码更多。

所以UTF-8里面存储一个汉字3个字节。而gb2312中存储一个汉字2个字节。

保存大小: UTF-8(更臃肿、加载更慢) > gb2312 (更小巧,加载更快)

关键字和页面描述

meta除了可以设置字符集,还可以设置关键字和页面描述。
设置页面描述:

<meta name="Description" content="网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。" />

只要设置的Description页面描述,那么百度搜索结果,就能够显示这些语句,这个技术叫做SEOsearch engine optimization搜索引擎优化

name就是“名字”的意思,content是“内容”的意思。
定义关键词:
<meta name="Keywords" content="网易,邮箱,游戏,新闻,体育,娱乐,女性,亚运,论坛,短 信" />
这些关键词,就是告诉搜索引擎,这个网页是干嘛的,能够提高搜索命中率。让别人能够找到你,搜索到你。
Keywords就是“关键词”的意思。

title标签

<title>网页的标题</title>
title也是有助于SEO搜索引擎优化的.

网页的head标签里面,表示的是页面的配置,有什么配置——–字符集、关键词、页面描述、页面标题……

HTML的基本语法特性

HTML对换行不敏感,对tab不敏感

HTML只在乎标签的嵌套结构,嵌套的关系。谁嵌套了谁,谁被谁嵌套了,和换行、tab无关。
换不换行、tab不tab,都不影响页面的结构。
也就是说,HTML不是依靠缩进来表示嵌套的,就是看标签的包裹关系。但是,我们发现有良好的缩进,代码更易读。要求大家都正确缩进标签

空白折叠现象

HTML中所有的文字之间,如果有空格、换行、tab都将被折叠为一个空格显示。

标签要严格封闭

h和p标签

h系列

h标签没有嵌套关系的。由于h3跟着一个h2,所以,我们自己就知道了这个h3是h2子标题。
h是容器级的标签。理论上里面可以放置p、ul,只是法律上的允许,在语义上,不要这么写。

p标签

段落,是英语paragraph“段落”缩写。

HTML标签是分等级的,HTML将所有的标签分为两种:容器级文本级

顾名思义,容器级的标签,里面可以放置任何东西;文本级的标签里面,只能放置文字、图片、表单元素

p标签是一个文本级标签。(牢记)

图片

能用的图片类型

页面上可以插入图片,能够插入的图片类型是:jpg(jpeg)、gif、png、bmp
不能往网页中插入的图片格式是:psd、ai

语法

HTML页面不是直接插入图片,而是插入图片的引用地址,所以也要把图片上传到服务器上。

插入方法:
<img src="baby.jpg" />

img是英语image“图片”的简写

src 是英语source“资源”的简写。

src是img标签的属性,baby.jpg是这个属性的值。

这个标签和我们之前学的,都不一样,因为这个标签不是“对儿”。自封闭标签,也称为单标签

alt属性

alt属性<img src="baby.jpg" alt="结婚照" />

alt是英语alternate“替代”的意思,就表示不管因为什么原因,当这个图片无法被显示的时候,出现的替代文字(有的浏览器不支持)。

相对路径

HTML中插入图片,所以现在有两个文件,一个html文件,一个是jpg文件。

我们关心的就是这两个文件的相对位置。即使这个网站项目,被用u盘拷给了别人,只要相对路径不变。图片一定能够正常显示

这里写图片描述

<img src="../../photo/1.png" />
现在document是最大的文件夹,里面有两个文件夹work和photo。work中又有一个文件夹叫做myweb。myweb文件夹里面有index.html。 所以index.html在myweb文件夹里面,上一级就是work文件夹,上两级就是document文件夹。通过document文件夹当做一个中转站,进入photo文件夹,看到了1.png。

了解../ 是到上一级目录,同理../../ 是上上级目录。

超级链接

基本写法

一个网站,是由很多html网页组成的,html网页之间能够通过超级链接互相跳转,从而形成了“网”。
语法:
<a href="1.html">结婚照</a>

a是英语anchor“锚”的意思,就好像这个页面往另一个页面扔出了一个锚。是一个文本级的标签

a标签的另外两个属性

title 悬停文本

<a href="09_img.html" title="很好看哦">结婚照</a>

target 是否在新窗口中打开

<a href="09_img.html" title="很好看哦" target="_blank">结婚照</a>

blank就是“空白”的意思,就表示新建一个空白窗口

页面内的锚点

页面当中可以有锚点,所谓的锚点,就是一个小标记,这个小标记是用户不可察觉的,用户不知道这里有一个标记。
锚点用name属性来设置,一个a标签如果name属性(或者id属性),那么就是页面的一个锚点。

<a name="wdzp">我的作品</a>或者:<a id="wdzp">我的作品</a>

那么网址
1.html#wdzp

就能够让这个锚点在页面最顶端显示,此时页面有卷动。
这样子,用户体验会好一点,用户可以直接看到页面的内容。

如果有一个超级链接,指向页面中的锚点,那么就是:
<a href="#wdzp">点击我就查看我的作品</a>

a是一个文本级的标签

比如一个段落中的所有文字都能够被点击,那么应该:
p包裹a:

    <p>    <a href="">段落段落段落段落段落段落</a>    </p>
原创粉丝点击