第四章 CSS样式基础

4.1 CSS概述


4.1.1.CSS的基本概念


4.1.2传统HTML的缺点

  • 维护困难
  • 标记不足
  • 网页过“胖”
  • 定位困难


4.1.3.CSS的特点和优势

  • 表现和内容分离
  • 增强了网页的表现力
  • 使整个网站显示风格趋于统一


4.1.4.CSS的编写规则

  1. 目录结构命名规则:一般命名为style,css。
  2. 样式文件的命名规则:前期放于不同的css文件中,后期将其整合到一个css文件中,一般命名为style.css或css.css。
  3. 选择器的命名规则:必须由小写字母或下划线组成,必须以字母开头,不能纯数字。常见样式命名如下:
  4. CSS代码注释:以/*开始以*/结束。


4.2 CSS语法基础


4.2.1.CSS基本语法


基本语法:

selector{
property1:value1;
property2:value2;
property3:value3;
......}


语法说明:

(1) 选择器。选择器可以是 HTML 标记名称或者属性的值, 也可以是自定义的标识符。
(2) 属性/属性值对。“属性: 属性值”必须一一对应, 属性与属性值之间必须用“:”连接, 每个属性/属性值对之间用分号 (;)隔开。
(3) 属性。在CSS中对属性命名与脚本语言中有一点不同, 即属性名称的写法, 在CSS中, 凡是属性名为两个或两个以上的单词构成时, 单词之间以连词符号(-)分隔, 例如背景颜色属性background-color;而在脚本语言中, 对象属性则连写成 backgroundColor。在脚本语言中, 属性由两个以上单词构成, 则从第二个单词开始向后, 所有单词首字母必须大写。


4.2.2.CSS选择器类型


4.2.2.1.标记选择器

使用HTML标记名做为选择器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
		/*标记选择器*/
					p{					/*选择器		{}里设置属性		属性名:属性值*/
						color:#0000ff;	
						font-size:30px;
					}
		</style>
	</head>
	<body>
		<!--4.2.2.1.标记选择器-->
				<p style="font-size:70px;">这里是第一个段落的内容</p >
				<p>这里是第二个段落的内容</p >
	</body>
</html>

4.2.2.2.class选择器

.class

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>4.2.1.CSS基本语法</title>
		<style>
			p{
				color: #0000ff;
				font-size: 30px;
			}
			.class1{
				color:#ff0000;
			}
			.class2{
				color:#aaccff;
			}
		</style>
	</head>
	<body>
		<p>这是第一段落内容</p>
		<p>这是第二段落内容</p>
		<p class="class1">这是第三段落内容</p>
		<p class="class1">这是第四段落内容</p>
		<p class="class2">这是第五段落内容</p>
	</body>
</html>


4.2.2.3.ID选择器

#ID

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>ID</title>
	<style>
			p{
				color: #0000ff;
				font-size: 30px;
			}
			.class1{
				color:#ff0000;
			}
			.class2{
				color:#aaccff;
			}
			#ID1{
				color: #00ff00;
				font-size: 60px;
			}
			#ID2{
				color: #ffccaa;
				font-size: 60px;
			}
		</style>
	</head>
	<body>
		<p>这是第一段落内容</p>
		<p>这是第二段落内容</p>
		<p class="class1">这是第三段落内容</p>
		<p class="class1">这是第四段落内容</p>
		<p class="class2">这是第五段落内容</p>
		<p id="ID1">这是第六段落内容</p>
		<p class="class2" id="ID2">这是第七段落内容</p>
	</body>
</html>

4.2.2.4.伪类选择器

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>CSS选择器声明</title>
		<style>
			a:link{
				color: #ff0000;
				font-size: 50px;
				   }
			a:visited{
				color: #ffaa00;
				font-size: 50px;
					 }
			a:hover{
					color: #ff00aa;
					font-size: 50px;
					}
			</style>
	</head>
	<body>
		
		<a href="https://www.jxatei.net">江西应用工程</a>
	</body>
</html>

点击后时: 

悬浮时: 

未点击: 


4.2.3.CSS选择器声明


集体生明:

h3,h4,h5,p{color:red;font-size:18px;}


全局声明:

*{color:red;
  font-family: fangsong;
font-size:18px;
  }


派生选择器(上下文选择器)

另外, 根据标记所在位置的上下文关系来定义样式, 可以使标记更加简洁, 派生选择器允许根据文档的上下文关系来确定某个标记的样式。通过合理地使用派生选择器, 可以使CSS代码变得更加整洁。例如, 要让列表项< li>中的。<strong>标记变为斜体字, 而不是通常的粗体字, 可以这样定义一个派生选择器:

 li strong { font- style: italic; font- weight: normal;}
 strong {font- weight: bold;}
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
		li strong{
		          font-style:italic;
		          font-weight:normal;
		          }
		strong{
		       font-weight:bold;
		}
		</style>
	</head>
	<body>
		<p><strong>我是粗体字,不是斜体字,因为我不在列表当中,所以这个规则对我不起作用</strong></p >
		<ol>
		    <li><strong>我是斜体字,这是因为strong元素位于li标记内</strong></li>
		    <li>我是正常的字体</li>
		</ol>
	</body>
</html>


4.3 CSS引入方式


4.3.1.内联样式表(行内样式表)


基本语法:

<标记 style="属性1:属性值1;
             属性2:属性值2;
             属性3:属性值3;
             ......
             "
>修饰内容
</标记>


语法说明:

(1)标记是指HTML标记,如p,hl和body等标记;
(2)标记的style定义的声明只对自身起作用;
(3)style属性的值可以包含多个声明,每一声明之间用“;”分隔;
(4)标记自身定义的style样式优先于其他所有样式定义。


4.3.2.内部样式表


基本语法:

<style type="text/css">
选择器1|属性1:属性值1;属性2:属性值2;···|
选择器2|属性1:属性值1;属性2:属性值2;···|
选择器n 属性1:属性值1:属性2:属性值2;·…
</style>


语法说明:

style标记是成对标记,有1个type属性是指style元素以CSS的语法定义。选择器1,…,选择器n,可以定义n个选择器,再定义声明部分。
属性和属性值之间用冒号连接,“属性/属性值”对之间用分号分隔。

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	<style>
			p{
				color: #0000ff;
				font-size: 30px;
			}
			.class1{
				color:#ff0000;
			}
			.class2{
				color:#aaccff;
			}
			#ID1{
				color: #00ff00;
				font-size: 60px;
			}
			#ID2{
				color: #ffccaa;
				font-size: 60px;
			}
			a:link{
				color: #ffccaa;
				font-size: 50px;
			}
			a:visited{
				color: #ffaa00;
				font-size: 50px;
				}
				a:hover{
					color: #ff00aa;
					font-size: 50px;
				}
			
		</style>
	</head>
	<body>
		<p>这是第一段落内容</p>
		<p>这是第二段落内容</p>
		<p class="class1">这是第三段落内容</p>
		<p class="class1">这是第四段落内容</p>
		<p class="class2">这是第五段落内容</p>
		<p id="ID1">这是第六段落内容</p>
		<p class="class2" id="ID2">这是第七段落内容</p>
		<a href="https://www.jxatei.net">江西应用工程</a>
	</body>
</html>


4.3.3.外部样式表


链接外部样式表

链接式是将所有的样式放在一个或多个以“,css”为扩展名的外部样式表中,通过网的<head></head标签中使用<link>标记将外部样式表文件链接到HTML文档中。

(1)基本语法:

<link type="text/css" rel="stylesheet"href="外部样式表名.css"/>

(2)语法说明:
语法中必须指定<link>标记的3个属性,其中href是定义链接外部样式表文件的url可以是相对路径和绝对路径:rel是定义当前文档与被链接文档之间的关系,这里指定stvlesheet.表示被链接的文档是样式表文件;type是定义链接文档的类型,这里类型指定为text/css,表示链接的外部文件为CSS样式表。
这里面涉及3个属性,rel="stylesheet"规定当前文档与被链接文档之间的关系。type=text/css"规定被链接文档的MIME类型。href="mystyle.css"规定被链接文档的位置,只需要记住这个固定写法即可。

实例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>内联样式表(行内样式表)</title>
	<link rel="stylesheet" href="css/index.css" type="text/css"/>
		</head>
		<body>
			<p>这是第一段落内容</p>
			<p>这是第二段落内容</p>
			<p class="class1">这是第三段落内容</p>
			<p class="class1">这是第四段落内容</p>
			<p class="class2">这是第五段落内容</p>
			<p id="ID1">这是第六段落内容</p>
			<p class="class2" id="ID2">这是第七段落内容</p>
			<a href="https://www.jxatei.net">江西应用工程</a>
		</body>
	</html>


导入外部样式表

导入式是将一个独立的CSS文件导入HTML文档中,其是在HTML文档<head>中应用<style>标签,并在<style>标签中的开头处用@import语句,即可导入外部样式表文件。

(1)基本语法:

<style type="text/css">
@import url("CSS文件路径");
/*此处还可以存放其他CSS样式*/
</style>

(2)语法说明:

导入样式表必须在style标记内开头的位置定义,可以同时导入多个外部样式表,每条语句必须以“:”结束。一般导入外部样式写在最前面,内部样式写在后面。


4.4 CSS的属性单位


4.4.1.长度、百分比单位

长度单位通常由两个英文字母的缩写表示,且设置大部分属性时仅能使用正数,只有少数属性可以使用正、负数的设置。而且必须注意,若属性值设置为负数,且超过浏览器所能接受的范围,以至于无法支持时,浏览器将会选择比较靠近且能支持的数值,长度单位在设置时分别为以下两种不同的类型。


4.4.1.1.相对类型

其指以该属性的前一个属性的单位值为基础来完成目前的设置,在浏览器内常用且支持的两种长度单位是以相对类型出现的。如用cm(当前字母中,字母的宽度)作为属性单位时,将会依据父元素的font-size属性,如果没有父元素,则参考浏览器的默认值字号。


4.4.1.2.绝对类型

绝对类型所使用的单位不会随着显示设备的不同而改变,也就是当属性值使用绝对单位时,不论在哪种设备上显示都是一样的,例如屏幕上的1cm与打印机上的1cm是一样长的。表4-3为浏览器支持的绝对类型的长度单位。

常用长度单位:


4.4.2.色彩单位

HTML网页和CSS样式都是按照RGB来设置颜色的。在HTML标记中只提供了两置色彩的方法:十六进制数和色彩英文名称。CSS则提供了三种定义色彩的方法:十六是在计算机中,定义每种色彩的强度范围为0~255。当所有色彩的强度都为0时,将,黑色;当所有色彩的强度都为255时,将产生白色。

用十六进制数方式表示色彩值

在HTML中,使用RGB 概念指定色彩时,前面是一个“#”号,再加上6个十六进制字表示,表示方法为:#RRGGBB,其中,前两个数字代表红光强度(Red),中间两个数代表绿光强度(Green),后两个数字代表蓝光强度(Blue),以上3个参数的取值范围00~f。参数必须是两位数,对于只有1位的参数,应在前面补0。这种方法共可表示256 256×256种色彩,即16M种色彩。而红色、绿色、黑色、白色的十六进制设置值分别#FFO000、#0OFF0O、#0000FF、#000000、#FFFFFF。


用色彩名称方式表示色彩值

在CSS 中也提供了与HTML一样的用色彩英文名称表示色彩的方式。CSS只提供16种
色彩名称


使用RGB(x,y,z)函数表示

x,y,z分别为红色,绿色,蓝色的值,x,y,z∈[0,225],亦可以用百分比表示;对比rgba(x,y,z,a)中a是alpha通道设置透明度取值0~1。


4.5.CSS继承与层叠

CSS继承即子标记会继承父标记的所有样式风格,并且可以在父标记样式风格的基础上再加以修改,产生新的样式,而子标记的样式风格完全不影响父标记,值得注意的是,并不是所有的属性都会自动传给子元素,有的属性不会继承父标记的属性值,例如边框属性就是非继承的。

继承:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>继承关系</title>
		<style>
			h1{
				color: bule;
				text-decoration: underline;
			}
			em{
				color: red;
			}
		</style>
	</head>
	<body>
		<h1>学习<em>web开发</em>教程</h1>
		<p>如果你有问题请联系我们</p>
	</body>
</html>

层叠:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>层叠</title>
		<style>
			p{
				color: green;
			}
			.red{
				color: red;
			}
			.purple{
				color: purple;
			}
			#line3{
				color: blue;
			}
		</style>
	</head>
	<body>
		<p>这是第1行文本</p>
		<p class="red">这是第2行文本</p>
		<p style="color:orange" id="line3">这是第3行文本</p>
		<p class="purple red">这是第4行文本</p>
	</body>
</html>

 


4.6 元素类型


块级元素

display 属性设置为block将显示块级元素,块级元素的宽度为100%,而且后面隐藏附带有换行符,使块级元素始终占据一行,如<div>常常被称为块级元素,这意味着这些元素显示为一块内容,标题、段落、列表、表格、分区div和body等元素都是块级元素。


行级元素

行级元素也称内联元素,display 属性设置为inline将显示行级元素,元素前后没有换行符,行级元素没有高度和宽度,因此也就没有固定的形状,显示时只占据其内容的大小超接、图像、范围(span)、表单元素等都是行级元素。


列表项元素

list-—item 属性值表示列表项目,其实质上也是块状显示,是一种特殊的块状类型,它加
了缩进和项目符号。


隐藏元素

none 属性值表示隐藏并取消盒模型,所包含的内容不会被浏览器解析和显示。通过把
display 设置为none,该元素及其所有内容就不再显示,也不占用文档中的空间。

4.7 综合案例——开平碉楼申遗大事记

代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>开平碉楼</title>
		<link type="text/css" rel="stylesheet"href="css/z4.css"/>
	</head>
	<body>
		<div id="content">
			<h2 class="biaoti">开平碉楼申遗大事记</h2>
			<hr color="#D3B175"size="5"/>
			<img src="img/p.jpg"/>
			<p class="tx1">2000年,开平成立申遗小组</p>
			<p>2000年2月,从国务院信访局到开平挂市委常委职务的李玫同志在香港侨团团拜会上向胡耀坤、吴荣治等侨领首次提出将开平碉楼申报为世界文化遗产。
				2000年 10月30日,开平市成立"开平碉楼"申报世界文化遗产领导小组。领导小组下设办公室,分整治组、资料组、宣传组。
			</p>
			<p class="tx1">2001年,省申遗领导小组成立</p>
			<p>2001年4月30日,开平市市长办公会议研究将开平碉楼中遗项目名称定为"开平碉楼与民居"
				2001年6月 19日,申遗办谭伟强、张健文、邝积康3 位负责人赴北京,在李玫同志的陪同下拜访了中国国际古迹遗址理事会秘书长郭旗、清华大学教授陈志华,就申遗的有关事宜进行会谈。
				2001年3月至6月,开平市开展"开平碉楼"的普查工作,并请上海同济大学、华南理工大学专家对 33 座碉楼测绘了立面图、剖面图、平面图和细部特征图。
				2001年6月,江门市成立了以时任市长雷于蓝为组长的江门市申报世界文化遗产领导小组。
				2001年7月 11 日至17日,清华大学陈志华、楼庆西、李秋香教授,五邑大学张国雄、梅伟强教授,深入到三埠、长沙、沙冈、塘口、蚬网、百合、月山、赤坎、大沙等镇(办事处)对碉楼与民居进行了认真细致的考察。开平市政府特聘几位专家为"开平碉楼与民居"申报世界文化遗产工作高级顾问。
				2001年9月6日至7日,时任副省长的李兰芳到江门市视察楼,对开平碉楼申遗工作给予了充分的肯定,并表示省政府对此将大力支持。
				2001年9月12日,联合国世界遗产评估机构--国际古迹遗址理事会总协调员亨利博士考察开平碉楼,对开平碉楼的价值和开平乃至广东的文物保护工作表示了充分的肯定。
				2001年11月,广东省成立申报世界文化遗产领导小组及其办公室。
				2001年,开平籍旅港同胞、恒生银行董事长利国伟爵士就开平碉楼申报事宜专门写信给时任国务院总理的朱镕基。
			</p>
			<p class="tx1">2004年,世遗中心受理开平申遗</p>
			<p>2004年4月10日至11日,联合国世界遗产专家乔拉·索拉先生及夫人、以色列文物专家阿里·拉哈米莫夫先生及夫人,中国国际古迹遗址理事会秘书长郭旗先生,澳门文化局文化财产厅陈泽成厅长的陪同下到开平考察碉楼。
				2004年5月,任仲夷同志致函省委书记张德江,请德江同志向中央汇报开平碉楼申报世界文化
				遗产工作。
				2004年5月17日,张德江同志在开平市委、市政府《关于请张德江书记向中央汇报开平碉楼申报世界遗产工作的请示》中批示:我赞成和支持开平碉楼申报世界文化遗产。
				2004年6月,开平市被中国建筑学会授予"中国碉楼之乡"的称号。
				2004年7月2日,中国100多个申遗"预备清单"中已有5个申报项目被世界遗产中心受理,分别是澳门历史建筑群、开平碉楼、殷墟、福建土楼和红河哈尼梯田。
				2004年10月28日,蚬冈镇锦江里昇峰楼业主旅加华侨胡黄惠英(乳名:黄滚盛)女士及其兄长黄雄畅先生在梁金山世外豪园酒店正式将他们的碉楼无偿委托给开平人民政府管理。
			</p>
			<p class="tx1">2005年,申报名称变更</p>
			<p>2005 年4月21日,由清华大学建筑学院与开平市申遗办合作开展的第二次全市性碉楼普查工作于圆满完成。本次碉楼普查从2005年3月16日开始,历时 13 个月。第二次碉楼普查深入到全市每条村庄逐幢碉楼进行登记、拍照、调查核实,拍摄2万多张图片,采集到一些珍贵的、鲜为人知的历史资料。
			2005 年9月 18日,联合国世界遗产协调员乔拉先生、建筑规划师阿里先生来到开平,指导开平碉楼申报世界文化遗产工作。
			2005 年9月24日,由省人民政府主办,省文化厅、江门市人民政府、开平市人民政府承办的广东省开平碉楼中报世界文化遗产动员大会在省博物馆门前隆重举行。
			2005年 11月,开平碉楼申报世界文化遗产的项目名称由"开平碉楼与民居"变为"开平碉楼与村落",极大地延伸了开平碉楼的文化内涵和历史价值,更有利于中报世界文化遗产。
			2005年 12月5日,北京大学世界遗产中心沈文权博士,中国古文物保护专家张志平女士(郭族
			夫人)抵达开平,着手开展修改北大制订的开平碉楼文化遗产保护规划,为适应申报的需要,该规划将改名为《开平碉楼与村落保护管理规划》,并对相关内容进行增补。
			</p>
			<p class="tx1">2006年,世遗专家评估开平申遗</p>
			<p>2006年1月11日,国家文物局局长单霁翔正式签署英文中报文本。
				2006年1月,国务院正式批准"开平碉楼与村落"作为 2007年代表中国向联合国申报世界文化遗产的项目,英文中报文本已被联合国教科文组织确认合格接收。
				2006年3月2日至3日,联合国教科文组织专家乔拉·索拉先生和阿里先生按原计划来到开平考察"申遗"准备工作。
				2006年4月3日下午,国家文物局、省政府、江门和开平市委、市政府在开平市行政大楼召开了开平碉楼与村落申报世界文化遗产工作会议,研究申遗工作进入第二个重要环节--环境整治阶段存在的
				问题,提出下一步工作意见。
				2006年5月9日,黄华华省长在江门市委书记陈继兴、市长王南健的陪同下到江门市检查指导
				开平碉楼与村落申遗工作。
				2006年8月21日至22日,经业主方其祥、方其赏、方其锦授权,塘口镇自力村三座尘封了大半个世纪的居庐--叶生居庐、官生居庐、澜生居庐被依次打开,并发现大量珍贵文物。
				2006年8月27日至28日,著名歌唱家阎维文与中央电视台摄制组一行10多人来到开平,拍摄开平碉楼与村落中报世界文化遗产主题曲--《碉楼颂》音乐电视。
				2006年9月,中国华侨出版社出版了两本关于开平碉楼与村落的学术著作,总结开平碉楼与村落研究所取得的丰硕成果,支持开平碉楼与村落申报世界文化遗产
				2006年9月15日,开平市举行"共同的心愿--全力支持开平碉楼与村落中报世界文化遗产"为主题的申遗文艺晚会,世遗评估专家卢光裕先生、副省长雷于蓝、国家文物局有关领导观看了晚会。晚会结束时,共收到来自社会各界的捐款 1480 多万元,其中,著名侨领吴荣治先生及夫人捐款 100 万元。
				2006年9月15至18日,受联合国教科文组织世界遗产中心的委派,"世遗"评估专家卢光裕先生到江门市对开平碉楼与村落进行评估。
			</p>
			<p class="tx1">2007年,申遗成功</p>
			<p>2007年1月,开平碉楼与村落申遗项目顺利通过国际古迹遗址(ICOMOS)委员会执委会在巴黎召开的专家会议的评审。
			2007年6月20日,开平市赴新西兰、澳大利亚申遗代表团一行30多人经香港转机后抵达新西兰。
			2007年6月22日,中国政府代表团飞赴新西兰,出席世界遗产委员会第 31届大会,为开平碉楼
			与村落申遗助威。
			2007年6月底,开平碉楼与村落申遗项目顺利通过在新西兰召开的第 31届世界遗产大会的表决,正式列入《世界遗产名录》。
			
			</p>
			<p id="t1">来源:开平碉楼</p>
		</div>
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值