HTML和CSS的学习(第一节)

HTML

HTML简介

HTML(Hypertext Markup Language)
超文本标记语言。
• 它负责网页的三个要素之中的结构。
• HTML使用标签的的形式来标识网页中的不
同组成部分。
• 所谓超文本指的是超链接,使用超链接可
以让我们从一个页面跳转到另一个页面。

一个最基本的HTML页面:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>网页标题</title>
</head>
<body>
<h1>网页正文</h1>
</body>
</html>

标签
• HTML中的标记指的就是标签。
• HTML使用标记标签来描述网页。
• 结构:
<标签名>标签内容</标签名>
<标签名 />

元素
• 我们还将一个完整的标签称为元素。
• 这里我们可以将元素和标签认为是一个同
义词。

<h1>一级标题</h1>

上边的h1我们就称为元素

<p>我是一个<em>段落</em></p>

p也是一个元素,em是p的子元素,p是
em的父元素。

<body>
<p><em>内容</em></p>
</body>

• body也是一个元素。
• body是p和em的祖先元素。
• p和em是body的后代元素。

属性
• 可以为HTML标签设置属性。
• 通过属性为HTML元素提供附加信息。
• 属性需要设置在开始标签或自结束标签中。
• 属性总是以名称/值对的形式出现。
• 比如:name=“value”
• 有些属性可以是任意值,有些则必须是指定值。

<h1 title="我是一个标题">标题</h1>
<img src="" alt="" />

常见属性
• id
– id属性作为标签的唯一标识,在同一个网页中不能
出现相同的id属性值。
• class
– class属性用来为标签分组,拥有相同class属性的
标签我们认为就是一组,可以出现相同的class属
性,可以为一个元素指定多个class。
• title
– title属性用来指定标签的标题,指定title以后,鼠
标移入到元素上方时,会出现提示文字。
注释
• HTML注释中的内容不会在网页中显示。
• 格式:

<!-- 注释内容 -->

• 合理的使用注释可以帮助开发人员理解网
页的代码。
• 注释不能嵌套!

HTML的发展

• 1993年6月:HTML第一个版本发布。
• 1995年11月:HTML2.0
• 1997年1月:HTML3.2(W3C推荐)
• 1999年12月:HTML4.01(W3C推荐)
• 2000年底:XHTML1.0(W3C推荐)
• 2014年10月:HTML5(W3C推荐)
doctype
• HTML总共有那么多的版本,而且这其中至
少有三个版本在广泛使用,那么浏览器怎
么知道我们在使用哪个版本呢?
• 为了让浏览器知道我们使用的HTML版本我
们还需要在网页的最上边添加一个doctype
声明,来告诉浏览器网页的版本。
html4
• 过渡版
• 严格版
• 框架集

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">

xhtml1.0
• 过渡版
• 严格版
• 框架集

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

html5
• 我们会发现html4.01和xhtml的文档声明十
分的麻烦。不过不用担心,以上的内容都
不是我们使用的,我们使用的是html5的文
档声明,而且非常简单:

<!DOCTYPE html>

怪异模式
• 为了兼容一些旧的页面,浏览器中设置了
两种解析模式:
– 标准模式(Standards Mode)
– 怪异模式(Quirks Mode)
• 怪异模式解析网页时会产生一些不可预期
的行为,所以我们应该避免怪异模式的出
现。
• 避免的最好方式就是在页面中编写正确的
doctype。

编码问题

• 在计算机的内部,文件都是以二进制编码
保存的。
• 所谓的二进制编码就是指1和0,也就是我
们的所有内容都需要转换为1和0。
• 中国两个字在计算机的底层保存的可能要
转换为10100101这种二进制码,这一过程
称为编码。
• 计算机在读取文件时需要将10100101在转
换为中国给我们显示这一过程称为解码。
字符集
• 这就带来一个问题,中国到底是10100101
还是01011010到底由谁说了算。
• 所以我们还需要一个东西称为字符集,字
符集规定了如何将文本转换为二进制编码。
• 常见的字符集:ASKII、ISO8859-1、GBK、
GB2312、UTF-8。
乱码
• 如果我们保存文件时使用的是utf-8进行编
码,而浏览器读取页面时使用gb2312,这
样就会导致页面中的内容不能正常显示,
也就是我们所说的乱码。
• 所以我们只需要统一两者使用的字符集就
可以解决乱码问题。
• 这里为了页面有更好的使用性,我们一般
使用utf-8。
• 保存文件的编码我们直接通过编辑器即可
指定,接下来就是要告诉浏览器使用什么
字符集去解析文件。
• 在html5中只需要使用meta标签即可完成
这个任务:

<meta charset="utf-8" />
<meta>

• 作用:
<meta> 标签可提供有关页面的元信息,比如
针对搜索引擎和更新频度的描述和关键词。
<meta> 标签位于文档的头部,不包含任何内
容。<meta> 标签的属性定义了与文档相关联
的名称/值对。
meta的用法

• 设置页面的字符集
– <meta charset="utf-8">
• 设置网页的描述
– <meta name="description" content="">
• 设置网页的关键字
– <meta name="keywords" content="">
• 请求的重定向
– <meta http-equiv="refresh" content="5;url=地址"/>

常用标签

<html>

• 作用:
– 标签用于告诉浏览器这个文档中包含
的信息是用HTML编写的。
• 用法:
– 所有的网页的内容都需要编写到html标签中,
一个页面中html标签只能有一个。
– html标签中有两个子标签head和body 。

<head>

• 作用:
<head>标签用来表示网页的元数据,head中
包含了浏览器和搜索引擎使用的其他不可见信
息。
• 用法:
head标签作为html标签的子元素的出现,一
个网页中只能有一个head。

<title>

• 作用:
<title>标签表示网页的标题,一般会在网页的标
题栏上显示。
title标签中的文字,是页面优化的最重要因素。在
搜索引擎的搜索时最先看到的、最醒目的内容。
• 用法:
– 建议将title标签紧贴着head标签编写,这样搜索
引擎可以快速检索到标题标签。
– 网站中的多个页面的title也不应该重复,这样不利
于搜索隐藏检索。

<body>

• 作用:
– 标签用来设置网页的主体,所有在页
面中能看到的内容都应该编写到body标签中。
• 用法:
– body标签作为html的子标签使用。

<h1>~<h6>

• 作用:
– h1~h6都是网页中的标题标签,用来表示网页
中的一个标题,不同的是,从h1~h6重要性越
来越低。
– 标题标签相当于正文的标题,通常认为重要性
仅次于页面的title。
– 一般标题标签我们只会使用到h3,h3以后的标
题标签对于搜索引擎就没有什么意义了。
– 一个页面中只会使用一个h1标签。

<p>

• 作用:

标签表示网页中的一个段落。
– 一般浏览器会在段落的前和后各加上一个换行,
也就是段落会在页面中自成一行。

<br />

• 作用
<br />标签表示一个换行标签,使用br标签可
以使br标签后的内容另起一行。

<hr />

• 作用:
<hr />标签是水平线标签,使用hr标签可以在
页面中打印一条水平线,水平线可以将页面分
成上下两个部分。

<img />

• 作用:
< img />标签是图片标签,可以用来向页面中
引入一张外部的图片。
• 属性:
– src
• 指向一个外部的图片的路径。
– alt
• 图片的描述

<a>

• 作用:
<a>标签是超链接标签,通过a标签,可以快
速跳转到其他页面。
• 属性:
– href
• 指向一个链接地址
– target
• 设置打开目标页面的位置,可选值:_blank新窗口、
_self当前窗口。

实体(转义字符)

实体

• 在HTML中预留了一些字符。
• 这些预留字符是不能在网页中直接使用的。
• 比如<和>,我们不能直接在页面中使用<和
>号,因为浏览器会将它解析为html标签。
• 为了可以使用这些预留字符,我们必须在
html中使用字符实体。
• 语法: &实体名;

字符实体

• 小于号<
– &lt;
• 大于号>
– &gt;
• 空格
– &nbsp;
• 和符号&
– &amp;
• 版权©
– &copy;
• 引号”
– &quot;
• 注册商标®
– &reg;
• 商标™
– &trade;

开发工具

文本编辑器
• 在windows中我们只需要使用最简单的记
事本就可以完成所有的网页的开发。
• 但是一般我们会使用一些具有提示功能的
纯文本编辑器:
– Notepad++(免费)
– Sublime(收费)
• 当然还有很多其他的工具。
IDE
• IDE(集成开发工具)
• IDE拥有比纯文本编辑器更加强大的提示功
能,也是我们开发中用的比较多的工具。
– DreamWeaver(收费)
– WebStorm(收费)
– Hbuilder(免费)
• 当然也有其他的IDE。
我用的是Hbuilder,所有的前端都可以用这个IDE。
下面写一个简单的html页面

<!doctype html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>图片标签</title>
	</head>
	<body>
		<img src="2.gif" alt="这是一个大松鼠" width="100px" height="500px"  />
	</body>
</html>
<!-- 
		使用img标签来向网页中引入一个外部图片,
			img标签也是一个自结束标签
		属性:
			src:设置一个外部图片的路径
			alt:可以用来设置在图片不能显示时,对图片的描述
					搜索引擎可以通过alt属性来识别不同的图片
					如果不写alt属性,则搜索引擎不会对img中的图片进行收录
			width:可以用来修改图片的宽度,一般使用px作为单位
			height	:可以用来修改图片的高度,一般使用px作为单位
			
			宽度和高度两个属性如果指设置一个,另一个也会同时等比例调整大小
				如果两个值同时指定则按照你指定的值来设置
			一般开发中除了自适应的页面,不建议设置width和height	
	-->	
	<!--
		图片的格式
			JPEG(JPG)
				- JPEG图片支持的颜色比较多,图片可以压缩,但是不支持透明
				- 一般使用JPEG来保存照片等颜色丰富的图片
				
			GIF
				- GIF支持的颜色少,只支持简单的透明,支持动态图
				- 图片颜色单一或者是动态图时可以使用gif
			
			PNG
				- PNG支持的颜色多,并且支持复杂的透明
				- 可以用来显示颜色复杂的透明的图片

		图片的使用原则:
			效果不一致,使用效果好的
			效果一致,使用小的
	-->
<!--
			src属性配置的是图片的路径,目前我们所要使用的路径全都是相对路径。
			相对路径:
				相对路径指相对于当前资源所在目录的位置
				<img src="abc/bcd/2.gif" alt="这是一个大松鼠"/>
				
			可以使用../来返回一级目录,返回几级目录就写几个../	
			<img src="../../img/2.gif" alt="这是一个大松鼠"/>
		-->

CSS

HTML页面实在是太丑了,怎么破?用css!
CSS
• 层叠样式表 (Cascading Style Sheets)
• css可以用来为网页创建样式表,通过样式
表可以对网页进行装饰。
• 所谓层叠,可以将整个网页想象成是一层
一层的结构,层次高的将会覆盖层次低的。
• 而css就可以分别为网页的各个层次设置样
式。

基本语法

• CSS的样式表由一个一个的样式构成,一个
样式又由选择器和声明块构成。
• 语法:
– 选择器 {样式名:样式值;样式名:样式值 ; }
– p {color:red ; font-size:12px;}
行内样式
• 可以直接将样式写到标签内部的style属性
中,这种样式不用填写选择器,直接编写
声明即可。
• 这种方式编写简单,定位准确。但是由于
直接将css代码写到了html标签的内部,导
致结构与表现耦合,同时导致样式不能够
复用,所以这种方式我们不使用。

<p style="color: red;font-size: 30px"></p>

内部样式表
• 可以直接将样式写到

<style>
p{color:red; font-size: 30px;}
</style>

外部样式表
• 可以将所有的样式保存到一个外部的css文
件中,然后通过标签将样式表引入
到文件中。
• 这种方式将样式表放入到了页面的外部,
可以在多个页面中引入,同时浏览器加载
文件时可以使用缓存,这是我们开发中使
用的最多的方式。

<link rel="stylesheet" type="text/css"
href="style.css">

选择器

• 选择器(selector),会告诉浏览器:网页
上的哪些元素需要设置什么样的样式。
• 比如:p这个选择器就表示选择页面中的所
有的p元素,在选择器之后所设置的样式会
应用到所有的p元素上。

元素选择器

• 元素选择器(标签选择器),可以根据标
签的名字来从页面中选取指定的元素。
• 语法:
• 比如p则会选中页面中的所有p标签,h1会
选中页面中的所有h1标签。
标签名 { }

类选择器

• 类选择器,可以根据元素的class属性值选
取元素。
• 语法:
• 比如.hello会选中页面所有class属性为
hello的元素。
.className { }

ID选择器

• ID选择器,可以根据元素的id属性值选取
元素。
• 语法:
• 比如#box会选中页面中id属性值为box的
元素,和class属性不同,id属性是不能重
复的。

复合选择器

• 复合选择器,可以同时使用多个选择器,
这样可以选择同时满足多个选择器的元素。
• 语法:
– 选择器1选择器2{}
• 例如div.box1会选中页面中具有box1这个
class的div元素。

群组选择器

• 群组选择器,可以同时使用多个选择器,
多个选择器将被同时应用指定的样式。
• 语法:
• 比如p,.hello,#box会同时选中页面中p元素,
class为hello的元素,id为box的元素。
选择器1,选择器2,选择器3 { }

通用选择器

• 通用选择器,可以同时选中页面中的所有
元素。
• 语法:
*{ }
随便写个选择器的代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>常用选择器</title>
		<style type="text/css">
			
			/*为页面中的所有的p元素,设置一个字体颜色为红色*/
			/*
			 * 元素选择器
			 * 	作用:通过元素选择器可以选则页面中的所有指定元素
			 *  语法:标签名 {}
			 */
			
			/*p{
				color: red;
			}
			
			h1{
				color: red;
			}*/
			
			/*
			 * id选择器
			 * 	- 通过元素的id属性值选中唯一的一个元素
			 *  - 语法:
			 * 		#id属性值 {}
			 */
			/*#p1{
				font-size: 20px;
			}*/
			
			/*
			 * 类选择器
			 * 	- 通过元素的class属性值选中一组元素
			 *  - 语法:
			 * 		.class属性值{}
			 */
			/*.p2{
				color: red;
			}
			
			.hello{
				font-size: 50px;
			}*/
			
			/*
			 * 为id为p1的元素,class为p2的元素,还有h1,同时设置一个背景颜色为黄色
			 */
			
			/*
			 * 选择器分组(并集选择器)
			 * 	- 通过选择器分组可以同时选中多个选择器对应的元素
			 * 	- 语法:选择器1,选择器2,选择器N{}
			 */
			/*#p1 , .p2 , h1{
				background-color: yellow;
			}*/
			
			/*
			 * 通配选择器
			 * 	- 他可以用来选中页面中的所有的元素
			 * 	语法:*{}
			 */
			
			/**{
				color: red;
			}*/
			
			/*
			 * 为拥有class p3 span元素设置一个背景颜色为黄色
			 * 
			 * 复合选择器(交集选择器)
			 * 	- 作用:
			 * 		- 可以选中同时满足多个选择器的元素
			 *  - 语法:
			 * 		- 选择器1选择器2选择器N{}
			 */
			span.p3{
				background-color: yellow;
			}
			
			/*
			 * 对于id选择器来说,不建议使用复合选择器
			 * p#p1{
				background-color: red;
			}*/
			
			
		
			
		</style>
	</head>
	<body>
		<h1>悯农</h1>
		<p>锄禾日当午</p>
		<p>锄禾日当午</p>
		<p id="p1">锄禾日当午</p>
		
		<!-- 
			我们可以为元素设置class属性,
				class属性和id属性类似,只不过class属性可以重复
				拥有相同class属性值的元素,我们说他们是一组元素
				可以同时为一个元素设置多个class属性值,多个值之间使用空格隔开
		-->
		<p class="p2 hello">锄禾日当午</p>
		<p class="p2">锄禾日当午</p>
		<p class="p2">锄禾日当午</p>
		
		<p>锄禾日当午</p>
		<p>锄禾日当午</p>
		<p>锄禾日当午</p>
		
		<p class="p3">锄禾日当午</p>
		<span class="p3">汗滴禾下土</span>
		
	</body>
</html>

标签之间的关系

• 祖先元素
– 直接或间接包含后代元素的元素。
• 后代元素
– 直接或间接被祖先元素包含的元素。
• 父元素
– 直接包含子元素的元素。
• 子元素
– 直接被父元素包含的元素。
• 兄弟元素
– 拥有相同父元素的元素。

后代选择器

• 后代选择器可以根据标签的关系,为处在
元素内部的代元素设置样式。
• 语法:
• 比如p strong 会选中页面中所有的p元素
内的strong元素。
祖先元素 后代元素 后代元素 { }

伪类和伪元素

• 有时候,你需要选择本身没有标签,但是
仍然易于识别的网页部位,比如段落首行
或鼠标滑过的连接。CSS为他们提供一些选
择器:伪类和伪元素。
给链接定义样式
• 有四个伪类可以让你根据访问者与该链接的交
互方式,将链接设置成4种不同的状态。
• 正常链接
– a:link
• 访问过的链接
– a:visited(只能定义字体颜色)
• 鼠标滑过的链接
– a:hover
• 正在点击的链接
– a:active
其他
• 获取焦点
– :focus
• 指定元素前
– :before
• 指定元素后
– :after
• 选中的元素
– ::selection

块和内联

<!--
			块元素和内联元素
			
			div就是一个块元素,
				所谓的块元素就是会独占一行的的元素,无论他的内容有多少
					他都会独占一整行。
				p h1 h2 h3 ... 
				div这个标签没有任何语义,就是一个纯粹的块元素,
					并且不会为它里边的元素设置任何的默认样式,
				div元素主要用来对页面进行布局的	
				
			span是一个内联元素(行内元素)	
				所谓的行内元素,指的是只占自身大小的元素,不会占用一行
				常见的内联元素:
					a img iframe span
				span没有任何的语义,span标签专门用来选中文字,
				然后为文字来设置样式	
				
			块元素主要用来做页面中的布局,内联元素主要用来选中文本设置样式,
				一般情况下只使用块元素去包含内联元素,而不会使用内联元素去包含一个块元素
				a元素可以包含任意元素,除了他本身
				p元素不可以包含任何块元素
				
		-->

下面就是一系列示意代码:
伪类代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			/*
			 * 伪类专门用来表示元素的一种的特殊的状态,
			 * 	比如:访问过的超链接,比如普通的超链接,比如获取焦点的文本框
			 * 当我们需要为处在这些特殊状态的元素设置样式时,就可以使用伪类
			 */
			
			/*
			 * 为没访问过的链接设置一个颜色为绿色
			 * 	:link
			 * 		- 表示普通的链接(没访问过的链接)
			 */
			a:link{
				color: yellowgreen;
			}
			
			/*
			 * 为访问过的链接设置一个颜色为红色
			 * 	:visited
			 * 		- 表示访问过的链接
			 * 
			 * 浏览器是通过历史记录来判断一个链接是否访问过,
			 * 	由于涉及到用户的隐私问题,所以使用visited伪类只能设置字体的颜色
			 * 
			 */
			a:visited{
				color: red;
			}
			
			/*
			 * :hover伪类表示鼠标移入的状态
			 */
			a:hover{
				color: skyblue;
			}
			
			/*
			 * :active表示的是超链接被点击的状态
			 */
			a:active{
				color: black;
			}
			
			/*
			 * :hover和:active也可以为其他元素设置
			 * IE6中,不支持对超链接以外的元素设置:hover和:active
			 */
			/*p:hover{
				background-color: yellow;
			}
			
			p:active{
				background-color: orange;
			}*/
			
			/*
			 * 文本框获取焦点以后,修改背景颜色为黄色
			 */
			input:focus{
				background-color: yellow;
			}
			
			/**
			 * 为p标签中选中的内容使用样式
			 * 	可以使用::selection为类
			 * 	注意:这个伪类在火狐中需要采用另一种方式编写::-moz-selection
			 */
			
			/**
			 * 兼容火狐的
			 */
			p::-moz-selection{
				background-color: orange;
			}
			
			/**
			 * 兼容大部分浏览器的
			 */
			p::selection{
				background-color: orange;
			}
			
		</style>
	</head>
	<body>
		
		
		<a href="http://www.baidu.com">访问过的链接</a>
		<br /><br />
		<a href="http://www.baidu123456.com">没访问过的链接</a>
		
		<p>我是一个段落</p>
		
		<!-- 使用input可以创建一个文本输入框 -->
		<input type="text" />
		
	</body>
</html>

伪元素:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			/*
			 * 使用伪元素来表示元素中的一些特殊的位置
			 */
			/*
			 * 为p中第一个字符来设置一个特殊的样式
			 */
			
			/*p:first-letter {
				color: red;
				font-size: 20px;
			}*/
			/*
			 * 为p中的第一行设置一个背景颜色为黄色
			 */
			
			/*p:first-line {
				background-color: yellow;
			}*/
			
			/*
			 * :before表示元素最前边的部分
			 * 	一般before都需要结合content这个样式一起使用,
			 * 	通过content可以向before或after的位置添加一些内容
			 * 
			 * :after表示元素的最后边的部分
			 */
			p:before{
				content: "我会出现在整个段落的最前边";
				color: red;
			}
			
			p:after{
				content: "我会出现在整个段落的最后边";
				color: orange;
			}
		</style>
	</head>

	<body>
		<p>
			在我的后园,可以看见墙外有两株树,一株是枣树,还有一株也是枣树。 这上面的夜的天空,奇怪而高,我生平没有见过这样奇怪而高的天空。他仿佛要离开人间而去,使人们仰面不再看见。然而现在却非常之蓝,闪闪地䀹着几十个星星的眼,冷眼。他的口角上现出微笑,似乎自以为大有深意,而将繁霜洒在我的园里的野花草上。 我不知道那些花草真叫什么名字,人们叫他们什么名字。我记得有一种开过极细小的粉红花,现在还开着,但是更极细小了,她在冷的夜气中,瑟缩地做梦,梦见春的到来,梦见秋的到来,梦见瘦的诗人将眼泪擦在她最末的花瓣上,告诉她秋虽然来,冬虽然来,而此后接着还是春,蝴蝶乱飞,蜜蜂都唱起春词来了。她于是一笑,虽然颜色冻得红惨惨地,仍然瑟缩着。 枣树,他们简直落尽了叶子。先前,还有一两个孩子来打他们,别人打剩的枣子,现在是一个也不剩了,连叶子也落尽了。他知道小粉红花的梦,秋后要有春;他也知道落叶的梦,春后还是秋。他简直落尽叶子,单剩干子,然而脱了当初满树是果实和叶子时候的弧形,欠伸得很舒服。但是,有几枝还低亚着,护定他从打枣的竿梢所得的皮伤,而最直最长的几枝,却已默默地铁似的直刺着奇怪而高的天空,使天空闪闪地鬼䀹眼;直刺着天空中圆满的月亮,使月亮窘得发白。 鬼䀹眼的天空越加非常之蓝,不安了,仿佛想离去人间,避开枣树,只将月亮剩下。然而月亮也暗暗地躲到东边去了。而一无所有的干子,却仍然默默地铁似的直刺着奇怪而高的天空,一意要制他的死命,不管他各式各样地䀹着许多蛊惑的眼睛。 哇的一声,夜游的恶鸟飞过了。 我忽而听到夜半的笑声,吃吃地,似乎不愿意惊动睡着的人,然而四围的空气都应和着笑。夜半,没有别的人,我即刻听出这声音就在我嘴里,我也即刻被这笑声所驱逐,回进自己的房。灯火的带子也即刻被我旋高了。 后窗的玻璃上丁丁地响,还有许多小飞虫乱撞。不多久,几个进来了,许是从窗纸的破孔进来的。他们一进来,又在玻璃的灯罩上撞得丁丁地响。一个从上面撞进去了,他于是遇到火,而且我以为这火是真的。两三个却休息在灯的纸罩上喘气。那罩是昨晚新换的罩,雪白的纸,折出波浪纹的叠痕,一角还画出一枝猩红色的栀子。 猩红的栀子开花时,枣树又要做小粉红花的梦,青葱地弯成弧形了……我又听到夜半的笑声;我赶紧砍断我的心绪,看那老在白纸罩上的小青虫,头大尾小,向日葵子似的,只有半粒小麦那么大,遍身的颜色苍翠得可爱,可怜。 我打一个呵欠,点起一支纸烟,喷出烟来,对着灯默默地敬奠这些苍翠精致的英雄们。 一九二四年九月十五日。
		</p>
	</body>

</html>
		

a的伪类:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
		
			/*
			 * 涉及到a的伪类一共有四个:
			 * 	:link
			 *  :visited
			 * 	:hover
			 * 	:active
			 * 而这四个选择器的优先级是一样的。
			 */
			
			a:link{
				color: yellowgreen;
			}
			
			a:visited{
				color: red;
			}
			
			/*
			 * 鼠标移入
			 */
			a:hover{
				color: orange;
			}
			
			/*
			 * 正在点击
			 */
			a:active{
				color: cornflowerblue;
			}
		</style>
	</head>
	<body>
		
		<a href="http://www.baidu.com">访问过的链接</a>
		<br /><br />
		<a href="http://www.baidu123456.com">未访问过的链接</a>
		
	</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值