html学习笔记2

一、HTML骨架

标准的骨架:


1           <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

2           <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

3           <head>

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

5                  <title>Document</title>

6           </head>

7           <body>

8

9           </body>

10       </html>

1.文档声明头

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


1           <!DOCTYPE ……

开头的语句。

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

到底有哪些规范呢?

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

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

HTML4.01里面规定了普通、XHTML两大种规范。

HTML觉得自己有一些规定不严谨,比如,标签是否可以用大写字母呢?


1           <H1></H1>

所以,HTML就觉得,把一些规范严格的标准,又制定了一个XHTML1.0。在XHTML中的字母X,表示“严格的”。

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


大规范


里面的小规范


HTML4.01


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

Transitional   普通的

Frameset     带有框架的页面


XHTML1.0

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


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

Transitional    普通的(所学习的版本)

Frameset      带有框架的页面

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

比如,u标签,就是可以让一个本文加上下划线,但是这和HTML的本质有冲突,因为HTML只能负责语义,不能负责样式,而u这个下划线是样式。所以,在strict中是不能使用u标签的。

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

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

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

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

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

2. 字符集


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

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

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

中文能够使用的字符集两种:

第一种:UTF-8


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

第二种:gb2312


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

也可以写成gbk


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

有两个字库UTF-8和gb2312。

UTF-8是国际通用字库,里面涵盖了所有地球上所有人类的语言文字,比如阿拉伯文、汉语、日语……

gb2312 是国标,是中国的字库,里面涵盖了汉字和一些常用外文,比如日文片假名,和常见的符号。

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

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

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

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

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

总结:

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

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

3.关键字和页面描述

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

设置页面描述:


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

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

抽象一下:


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

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

也就是说,我们定义了一个名字是“Description”(描述)的meta。内容是网易是中国领先……

定义关键词:


1           <meta name="Keywords" content="网易,邮箱,游戏,新闻,体育,娱乐,女性,亚运,论坛,短信" />

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

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

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


1           <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

2           <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

3           <head>

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

5                  <meta name="Keywords" content="牛逼,很牛逼,特别牛逼" />

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

7                  <title>Document</title>

8           </head>

9           <body>

10

11       </body>

12       </html>

第4行 :   字符集设置

第5行: 关键词

第6行: 描述

4. title标签


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

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

二、HTML的基本语法特性

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和换不换行无关,标签的层次依然清晰,只不过程序员不可读了:

2. 空白折叠现象

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

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


1                  <p>我爱

2

3

4                                                               陈伟</p>

显示的时候,折叠了:

3. 标签要严格封闭

标签不封闭是灾难的:


1           <title>欢迎<title>

三、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标签是一个文本级标签。记住:p里面只能放文字、图片、表单元素。其他的一律不能放。

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

四、图片

1. 能用的图片类型

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

2. 语法

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

插入方法:


1           <img src="baby.jpg"  />

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

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

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

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

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


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

图片就是一个图片,不需要给什么文字增加语义,所以就是自己一个人活得挺好:


1           <img />

meta也是自封闭标签:


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

3 .alt属性

alt属性:


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

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

4 .相对路径

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

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

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


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

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


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

如果我们的图片在浅一层的文件夹中:


1           <img src="../3.jpg" />

如果是上两级:


1           <img src="../../shizi.jpg" />

还可以更为复杂:


1           <img src="../../images/jiehunzhao/baby.jpg" />

上两级的文件夹中的images文件夹中的jiehunzhao的文件夹中的baby.jpg

相对路径不会出现这种情况:


1           aaa/../bbb/1.jpg

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

经典题:

标准答案:


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

解释:

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

五、超级链接

1. 基本写法

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

语法:


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

效果图

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

href是英语hypertext reference超文本地址的缩写。读作“喝瑞夫”

2. a标签的另外两个属性

title 悬停文本


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

target 是否在新窗口中打开

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


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

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

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

完整的超级链接:


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

分清楚img和a标签的各自的属性:


1           <img src="1.jpg" />

2           <a href="1.html"></a>

3. 页面内的锚点

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

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


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

2           或者:

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

那么网址:


1           1.html#wdzp

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

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

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


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

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里面相当于放的就是纯文字。

2016-11-01

时间: 2024-12-28 08:38:08

html学习笔记2的相关文章

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu

jQuery学习笔记(一):入门

jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操作如下: 1 document.getElementById('info').value = 'Hello World!'; 使用JQuery时获取DOM文本操作如下: 1 $('#info').val('Hello World!'); 嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开

[原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Activiti 学习笔记记录(三)

上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件

HTML&CSS基础学习笔记8-预格式文本

<pre>标签的主要作用是预格式化文本.被包围在 pre 标签中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre>标签的一个常见应用就是用来表示计算机的源代码.当然你也可以在你需要在网页中预显示格式时使用它. 会使你的文本换行的标签(例如<h>.<p>)绝不能包含在 <pre> 所定义的块里.尽管有些浏览器会把段落结束标签解释为简单地换行,但是这种行为在所有浏览器上并不都是一样的. 更多学习内容,就在码芽网http://www.

java/android 设计模式学习笔记(14)---外观模式

这篇博客来介绍外观模式(Facade Pattern),外观模式也称为门面模式,它在开发过程中运用频率非常高,尤其是第三方 SDK 基本很大概率都会使用外观模式.通过一个外观类使得整个子系统只有一个统一的高层的接口,这样能够降低用户的使用成本,也对用户屏蔽了很多实现细节.当然,在我们的开发过程中,外观模式也是我们封装 API 的常用手段,例如网络模块.ImageLoader 模块等.其实我们在开发过程中可能已经使用过很多次外观模式,只是没有从理论层面去了解它. 转载请注明出处:http://bl

[原创]java WEB学习笔记48:其他的Servlet 监听器:域对象中属性的变更的事件监听器 (3 个),感知 Session 绑定的事件监听器(2个)

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

java/android 设计模式学习笔记(10)---建造者模式

这篇博客我们来介绍一下建造者模式(Builder Pattern),建造者模式又被称为生成器模式,是创造性模式之一,与工厂方法模式和抽象工厂模式不同,后两者的目的是为了实现多态性,而 Builder 模式的目的则是为了将对象的构建与展示分离.Builder 模式是一步一步创建一个复杂对象的创建型模式,它允许用户在不知道内部构建细节的情况下,可以更精细地控制对象的构造流程.一个复杂的对象有大量的组成部分,比如汽车它有车轮.方向盘.发动机.以及各种各样的小零件,要将这些部件装配成一辆汽车,这个装配过

[原创]java WEB学习笔记12:一个简单的serlet连接数据库实验

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------