CSS(Cascading Styel Sheet)是控制 Web 页面外观的一系列格式设置规则,是网页设计必不可少的工具之一。下面我们就开始学习css的基本语法格式。
一、CSS定义规则
层叠样式表是一个完全的纯文本文件,通常以“css”为扩展名作为单独的文件来使用,它的内容包含了一组告诉浏览器,如何安排与显示特定的html标签中内容的规则,CSS定义规则由三个部分构成:选择符,属性和属性的取值。语法如下:
语法: selector { property: value }
↑ ↑ ↑
选择符 { 属性: 值 }
CSS 样式由一系列规则组成,这些规则由 Web 浏览器解析,然后应用于 HTML 文档相应的元素上。CSS 样式规则由三个部分组成,分别是选择器、属性和值:
1. 选择符:选择符是要定义样式的html标记,将html标记作为选择符定义后,则在html页面中该标记下的内容,会按照CSS定义的规则发生改变。
2. 属性:您希望给 HTML 元素设置的样式名称,指的是在选择符中要改变的内容,常见的有:字体属性,颜色属性,文本属性等。下面就是我们定义的一个样式表。
3. 值:属性的取值,由数值和单位或者关键字组成,用来控制某个属性的显示效果。
@charset"gb2312"; body { font-family: "宋体"; font-size: 20px; color: #FF0000; } p { font-family: "宋体"; font-size: 30px; color: #FF00ff; }
在这个样式表中:
1. @charset"gb2312";表示使用中文国标字符集。
2. body 和 p 是 html 中的两个标签,对这两个标签设置了三种样式,即:
font-family: 指定字体的字型。
font-size: 指定字体的大小。
color: 指定字体的颜色。
上面我们定义了一个样式表,下一步的任务是如何把这个样式表和html文件相关联,使html文件按照我们定义的样式显示出来,与html文件相关联的方法有四种,下面我们分别叙述。
二、嵌入样式表
在Html页面内部定义的CSS样式表,叫做嵌入式CSS 样式表,也就是在HTML文档的head部分中,使用 style 标签并在该标签中定义一系列 CSS 规则。
语法: <head> <style type="text/css"> <!-- ...... --> </style> </head>
说明:
<style>指示CSS样式表开始,结束标志为 </style>,在开始标志 <style>中可以根据需要添加一些属性,如上列中的属性type="text/css",它表示CSS样式表采用MIME类型,这种类型的特点是,当浏览器不支持CSS代码时,对CSS代码进行过滤,避免浏览器以源代码的方式显示CSS代码。为了保证更加可靠,在样式表里再次加上注释标识符" <!--......-->",CSS规则就定义在这个注释标识符中。
示例1:t1.htm
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset= gb2312" /> <title>嵌入式CSS样式表</title> <style type="text/css"> <!-- @charset"gb2312"; body { font-family: "宋体"; font-size: 20px; color: #FF0000; } p { font-family: "宋体"; font-size: 30px; color: #FF00ff; } --> </style> </head> <body> 千山鸟飞绝万径人踪灭 <p> 千山鸟飞绝万径人踪灭 </p> </body> </html>
三、链接外部样式表
外部CSS样式表是一个以 .css为后缀的外部文件,定义一个外部样式表可以应用于多个页面。在html页面中使用link标签,可以将外部的css样式表连接进来,其语法如下:
语法:
<link rel="stylesheet" href="*.css” type="text/css">
参数:
1. rel属性表示样式表将以何种方式与HTML文档结合。rel取值:Stylesheet,表示指定一个外部的样式表
2. *.css是单独保存的样式表文件。
示例2 定义一个外部css文件p2.css,然后在t2.htm文件中连接该文件。
示例2:t2.htm
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>链接外部样式表</title> <style type="text/css"> <!-- @charset"gb2312"; body { font-family: "宋体"; font-size: 20px; color: #FF0000; } p { font-family: "宋体"; font-size: 30px; color: #FF00ff; } --> </style> </head> <body> 亲爱的,你慢慢飞,小心前面带刺的玫瑰 <p> 亲爱的,你张张嘴,风中花香会让你沉醉 </p> </body> </html>
四、内联样式表
内联样式指的是,在HTML特定的标签中定义的CSS样式表。常用的HTML 标签主要是BODY中的一些元素,例如:<p>,<h2>,<ul>,<div>等,下面是内联样式的示例。
示例3:t3.htm
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset= gb2312" /> <title>无标题文档</title> </head> <body> <div style="color:blue;font-size:30px ;"> 风中花香会让你沉醉 </div> <p style="color:#ff0000; font-style: italic; " > 风中花香会让你沉醉 </p> </body> </html>
五、导入外部样式表
导入外部样式表指的是,在html文件中已经建立了嵌入式样式表,但是还要使用外部样式表的某些设置,这时就可以在<style>里导入一个外部样式表,导入时用@import,如下例所示。
<html> <head> <style type="text/css"> <!-- @import url("mystyle.css"); 其他样式表的声明 --> </style> </head> </body> ...... </body> </html>
其中@import url("mystyle.css"); 表示导入mystyle.css样式表,导入外部样式表必须在样式表的开始部分,在内部样式表的上面。
示例4
定义一个外部css文件p4.css,然后在t4.htm文件中导入该文件
示例4:t4.htm
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset= gb2312" /> <title>导入外部样式表</title> <style type="text/css"> <!-- @import url("p4.css"); @charset"gb2312"; body { font-family: "宋体"; font-size: 20px; color: #FF0000; } p { font-family: "宋体"; font-size: 30px; color: #FF00ff; } --> </style> </head> <body> 千山鸟飞绝万径人踪灭 <p> 千山鸟飞绝万径人踪灭 </p> </body> </html>
六、css样式表的继承性
在css样式表中,子标签的某些属性会继承父标签的属性,例如标签p是标签body的子元素,当标签p未设置字体的颜色属性时,p中的内容会使用body中的颜色值,下面的示例说明了这种情况。
示例5:t5.htm
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset= gb2312" /> <title>嵌入式CSS样式表</title> <style type="text/css"> <!-- @charset"gb2312"; body { font-family: "宋体"; font-size: 20px; color: #FF0000; } p { font-family: "宋体"; font-size: 30px; } --> </style> </head> <body> 千山鸟飞绝万径人踪灭 <p> 千山鸟飞绝万径人踪灭 </p> </body> </html>
七、设置多个元素
css允许将单一的格式套用到多个标签,各个标签做为选择符时用逗号隔开,如下例所示。
示例6:t6.htm
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset= gb2312" /> <title>嵌入式CSS样式表</title> <style type="text/css"> <!-- @charset"gb2312"; h1,h2,h3,p,{ font-family: "宋体"; color: #FF0000; } --> </style> </head> <body> <h1>千山鸟飞绝万径人踪灭</h1> <h2>千山鸟飞绝万径人踪灭</h2> <h3>千山鸟飞绝万径人踪灭</h3> <p>千山鸟飞绝万径人踪灭</p> </body> </html>
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程