html 第二天

一、复习上节课的内容

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

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

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

标签: 主标题的语义 ,h是英语headline标题的意思。

<h1></h1>

二级标题

<h2></h2>

段落,p是英语paragraph段落的意思。

<p></p>

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

所以HTML不能让文本居中、字号调整、颜色改变、字体、下划线、倾斜……

 

sublime: 做网页和什么软件没有任何关系,所以做网页不等于学习使用DreamWeaver。Sublime非常快、方便、小巧、插件多,所以我们使用sublime。sublime中有常用的快捷键。

新建文件    ctrl+n

保存        ctrl+s

调整字号    ctrl+滚轮

上移当前行  ctrl+shift+↑

复制当前行  ctrl+shift+d

删除当前行  ctrl+shift+k

二、HTML骨架

wKiom1nnAv2C4RMgAAEiOdAWUrk941.png

接下来,我们对各部分进行详细的学习。

2.1 文档声明头

任何一个标准的HTML页面,第一行一定是一个以

<!DOCTYPE……>

开头的语句。

这一行,就是文档声明头,DocTypeDeclaration。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。

我所学习的是HTML4.01 中有两种大的规范,而每个大规范中又各有3种小规范,所以一共有6种规范。HTML4.01里面规定了普通、XHTML两大种规范。

XHTML就是把一些HTML中的一些不严谨的规定严格化而产生的,例如<H1></H1是不允许的。在XHTML中的字母X 就是表示“严格的”。

 

下面总结了一下6种文档声明头(DTD),HTML第一行语句一共有6种

大规范

里面的小规范

HTML4.01

Strict         严格的,体现在一些标签不能使用,比如u

Transitional    普通的

Frameset      带有框架的页面

XHTML1.0

严格体现在小写标签、闭合、引号

Strict           严格的,体现在一些标签不能使用,比如u

Transitional     普通的(我现在学习的版本)

Frameset       带有框架的页面

Strict表示“严格的”,这种模式里的要求更为严格。u标签,就是可以让一个本文加上下划线,但是在strict 中是不能使用的,因为这和 HTML的本质有冲突,HTML只能负责语义,不能负责样式,而u这个下划线是样式。

 

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

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

我现在学习的就是XHTML1.0中的 traditional版本(所以在一些页面中可以适当使用一些类似u这种标签,当做CSS钩子)。

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

2.2 字符集

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

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

charset就是charactor set“字符集”的意思。这个语句并不需要背诵的,在Sublime中可以自动生成的。

再看UTF-8,可以说明一下中文能够使用的字符集有两种:

第一种:UTF-8

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

第二种:gb2312

<meta http-equiv=”Content-Type”content=”text/html;charset= gb2312”>

Gb2312也可以写成gbk

<meta http-equiv=”Content-Type”content=”text/html;charset= gbk”>

什么是字符集?我们举个例子来解释一下:

活字印刷术,所有的汉字都有一个个小印章,需要哪个字,就取哪个字。

wKioL1nnAIjhFd_VAACZj6iN8-M807.png

但是,有两个人都发明了字库。老王发明了一个,老李也发明了一个。

比如同一个汉字,“传”字在老王的字库里面是第2个大盘子第4行第43列的。

而这个汉字“传”在老李的字库里面是第5个大盘子第6行第13列的。

计算机,不能直接存储汉字,而是存储的是编码,所以,计算机记录“传”这个字,就是这么记录的:

老王:20443

老李:50613

就是采用不同的标准来表示同一个字。

现在呢,可以用来表示汉字的字库有两个:UTF-8、gb2312。

UTF-8是国际通用字库,里面涵盖了所有地球上所有人类的语言文字;而gb2312 是国标,

是中国的字库,里面涵盖了汉字和一些常用外文、常见的符号。

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

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

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

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

 

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

wKioL1nnAMOzzJjpAAF5kVF60EY771.png

 

当我们不设置的时候,sublime默认类型就是UTF-8。而一旦更改为gb2312的时候,就一定要记得设置一下sublime的保存类型,记住两者一定要匹配。

总结:UTF-8字多,有各种国家的语言,但是保存尺寸大,文件臃肿;

      Gb2312字少,只有中文和少数外语和符号,但是尺寸小,文件小巧。

2.3 关键字和页面描述

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

设置页面描述:

<meta name="description" content="360导航--新一代安全上网导航,为用户提供门户、新闻、视频、游戏、小说、彩票等各种分类的优秀内容和网站入口,提供简单便捷的上网导航服务。安全上网,从360导航开始。" />

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

 

抽象一下:

1     <meta name=”” content=”” />

name就是“名字”的意思,content是“内容”的意思。

也就是说,我们定义了一个名字是“Description”(描述)的meta。

定义关键词:


<meta name="keywords" content="360导航,网址之家,网址导航,360安全网址,360网址,上网导航,网址" />

这些关键词,就是告诉搜索引擎,这个网页是干嘛的,能够提高搜索命中率。让别人能够找到你,搜索到你。

Keywords就是“关键词”的意思。

所以,一个比较完整的骨架是这样:

wKiom1nnA76yISYnAAHBV-SGOA0659.png

第4行 :字符集设置

第5行:描述

第6行:关键词

 

2.4 title标签

<title>网页的标题</title>

title也是有助于SEO搜索引擎优化的

wKioL1nnApLgDoGAAABGD8O-9H0383.png


网页的head标签里面,表示的是页面的配置,有什么配置?

字符集、关键词、页面描述、页面标题。

今后我们还能看见一些配置:IE适配、视口、iPhone小图标等等……

三、HTML的基本语法特性

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

HTML只在乎标签的嵌套结构,嵌套的关系。谁嵌套了谁,谁被谁嵌套了,和换行、tab无关。

换不换行、tab不tab,都不影响页面的结构。

所以:

1                   <div>

2            <h3></h3>

3                <p></p>

4                   </div>

完全等价于:

1                   <div>

2                          <h3></h3>

3                          <p></p>

4                   </div>

也就是说,HTML不是依靠缩进来表示嵌套的,就是看标签的包裹关系。但是,我们发现有良好的缩进,代码更易读。要求大家都正确缩进标签。

 

百度为了追求极致的显示速度,所以HTML标签都没有换行、都没有缩进(tab),HTML和换不换行无关,标签的层次依然清晰,只不过程序员不可读了:

wKioL1nnA3jwh2-zAAHZsGvJpR0264.png

 

3.2 空白折叠现象

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

代码:里面有空格、缩进、换行

1    wKiom1nnBu6CjBMCAAATsQy33fI471.png             

显示的时候,折叠了:

wKiom1nnB7qw0KvvAAADzhe4byQ801.png

3.3 标签要严格封闭

四、h和p标签

4.1 h系列

<h1> 到 <h6> 都是标签:

<h1></h1>一级标题

<h2></h2>二级标题

……

<h6></h6>六级标题

 

h标签没有嵌套关系的。由于h3跟着一个h2,所以,我们自己就知道了这个h3是h2子标题。

1                   <h1>今日学习内容</h1>

2                   <h2>一、复习上节课的内容</h2>

3                   <h2>二、HTML骨架</h2>

4                   <h3>2.1 文档声明头</h3>

5                   <h3>2.2 字符集</h3>

6                   <h3>2.3 关键字和页面描述</h3>

7                   <h3>2.4 title标签</h3>

8                   <h2>三、HTML的基本语法特性       </h2>

9                   <h3>3.1 HTML对换行不敏感,对tab不敏感</h3>

10              <h3>3.2 空白折叠现象</h3>

11              <h3>3.3 标签要严格封闭</h3>

12              <h2>四、h和p标签</h2>

13              <h3>4.1 h系列</h3>

h是容器级的标签。理论上里面可以放置p、ul,只是法律上的允许,在语义上,不要这么写

4.2 p标签

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

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

容器级的标签,里面可以放置任何东西;文本级的标签里面,只能放置文字、图片、表单元素。p标签是一个文本级标签。

Chrome浏览器wKiom1nnCo_wodekAAAZta9i4F8947.png 是世界上HTML5支持最好的浏览器。提供了非常好的开发工具,非常适合我们开发人员使用。审查元素功能的快捷键是F12。

Chrome的英语原意“硅”,是谷歌公司的产品,所以也叫作谷歌浏览器。

 

 

审查元素功能:

wKioL1nnCE_jblTSAAD91I7WMyc460.png


五、图片

5.1 能用的图片类型

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


5.2 语法

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

插入方法:

<img src="1.jpg"/>

src 是英语source“资源”的简写,千万不要写成scr。img是英语p_w_picpath“图片”的简写

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

 

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

为什么?原因很简单,如果是对儿,里面就要有内容,表示给这个内容增加语义。比如

<h1>哈哈哈哈,我是主标题啦!!!</h1>

图片就是一个图片,不需要给什么文字增加语义:<img />

上面学习的meta也是自封闭标签:

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


5.3 alt属性

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

wKiom1nnDy6gYe1-AAC-8JI0xN0661.png


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

5.4 相对路径

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

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

 

当图片在文件夹里面的时候:

<img src="p_w_picpaths/baby.jpg" alt="巴黎结婚照" />



如果在很深的文件夹中,也不怕,可以一直罗列下去: 

<img src="p_w_picpaths/jiehunzhao/baby.jpg" alt="巴黎结婚照" />

 

如果情况变得复杂,我们的图片在浅一层的文件夹中:  <img  src="../3.jpg" alt="" />

如果是上两级:<img  src="../../shizi.jpg" alt="" />

还可以更为复杂:  <img  src="../../p_w_picpaths/jiehunzhao/baby.jpg" alt="" />,表示 上两级的文件夹中的p_w_picpaths文件夹中的jiehunzhao的文件夹中的baby.jpg

相对路径不会出现这种情况:   aaa/../bbb/1.jpg

 ../要么不写,要么就写在开头。

例题:

wKioL1nnD3qxDMDwAACB4-HM_uk073.png

标准答案:

1            <img  src="../../photo/1.png" />

解释:

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


六、超级链接

6.1 基本写法

一个网站,是由很多html网页组成的,html网页之间能够通过超级链接互相跳转,从而形成了“网”。

语法:<a href="1.html">结婚照</a>

效果图: wKioL1nnEWfxVjlAAAAJ_o4ilWE226.png 

 

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

href是英语hypertext reference超文本地址的缩写。

 

6.2 a标签的另外两个属性

 title悬停文本 :<a  href="09_img.html" title="很好看哦">结婚照</a>

wKiom1nnF2vy8uU6AAAPdLHKNtA102.png 


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

target实际上是“目标”的意思,

blank就是“空白”的意思,就表示新建一个空白窗口。为什么有一个_ ,是规定。

也就是说,如果不写target=”_blank”那么就是在相同的标签页打开,如果写了,就是在新的空白标签页中打开。

完整的超级链接:<a href="1.html"  title="悬停文本"  target="_blank">链接的内容</a>

6.3 页面内的锚点

页面当中可以有锚点,所谓的锚点,就是一个小标记,这个小标记是用户不可察觉的,用户不知道这里有一个标记。

锚点用name属性来设置,一个a标签如果name属性或者id属性),那么就是页面的一个锚点。


1            <a name="wdzp">我的作品</a>

2            或者:

3            <a id="wdzp">我的作品</a>

那么网址:

1            1.html#wdzp

就能够让这个锚点在页面最顶端显示,此时页面有卷动。

这样子,用户体验会好一点,用户可以直接看到页面的内容

spacer.gif

如果有一个超级链接,指向页面中的锚点,那么就是:

1            <a href="#wdzp">点击我就查看我的作品</a>

 

spacer.gif


6.4 a是一个文本级的标签

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

p包裹a:

1            <p>

2                   <a href="">段落段落段落段落段落段落</a>

3            </p>

而不是a包裹p:

1            <a href="">

2                   <p>

3                          段落段落段落段落段落段落

4                   </p>

5            </a>

a的语义要小于p,a就是可以当做文本来处理,所以p里面相当于放的就是纯文字。

 






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章