一、CSS层叠样式表概述
CSS :层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。
多个样式可以层层覆盖叠加,如果不同的css样式对同一个html标签进行修饰,样式有冲突的,应用优先级高的,不冲突的样式规则共同作用。
1.CSS作用
- 修饰美化html网页。
- 外部样式表可以提高代码复用性从而提高工作效率。
- html内容与样式表现分离,便于后期维护。
2.CSS特点
- 丰富的样式定义
CSS提供了丰富的文档样式外观,以及设置文本和背景属性的能力;允许为任何元素创建边框,以及元素边框与其他元素间的距离,以及元素边框与元素内容间的距离;允许随意改变文本的大小写方式、修饰方式以及其他页面效果 - 易于使用和修改
CSS可以将样式定义在HTML元素的style属性中,也可以将其定义在HTML文档的header部分,也可以将样式声明在一个专门的CSS文件中,以供HTML页面引用。总之,CSS样式表可以将所有的样式声明统一存放,进行统一管理。
另外,可以将相同样式的元素进行归类,使用同一个样式进行定义,也可以将某个样式应用到所有同名的HTML标签中,也可以将一个CSS样式指定到某个页面元素中。如果要修改样式,我们只需要在样式列表中找到相应的样式声明进行修改。 - 多页面应用
CSS样式表可以单独存放在一个CSS文件中,这样我们就可以在多个页面中使用同一个CSS样式表。CSS样式表理论上不属于任何页面文件,在任何页面文件中都可以将其引用。这样就可以实现多个页面风格的统一。 - 层叠
简单的说,层叠就是对一个元素多次设置同一个样式,这将使用最后一次设置的属性值。例如对一个站点中的多个页面使用了同一套CSS样式表,而某些页面中的某些元素想使用其他样式,就可以针对这些样式单独定义一个样式表应用到页面中。这些后来定义的样式将对前面的样式设置进行重写,在浏览器中看到的将是最后面设置的样式效果。 - 页面压缩
在使用HTML定义页面效果的网站中,往往需要大量或重复的表格和font元素形成各种规格的文字样式,这样做的后果就是会产生大量的HTML标签,从而使页面文件的大小增加。而将样式的声明单独放到CSS样式表中,可以大大的减小页面的体积,这样在加载页面时使用的时间也会大大的减少。另外,CSS样式表的复用更大程序的缩减了页面的体积,减少下载的时间
3. CSS语法规则
CSS 规则由两个主要的部分构成:
(1)选择器
(2)一条或多条声明
选择器通常是您需要改变样式的 HTML 元素
每条声明由一个属性和一个值组成
语法案例
选择器{
属性:值;
属性:值…..
}
<!--全局操作-->
*{
color:red;
font-size:14px;
}
<!--针对某个属性标签操作-->
div{
color:red;
font-size:14px;
}
<!--针对某个代号属性标签操作(微操)-->
#div1{
color:red;
font-size:14px;
}
注意事项
如果值为若干单词,则要给值加引号;font-family: “黑体”,“华文彩云”,“微软雅黑”,“arial”;
多个声明之间使用分号;分开
css对大小不敏感,如果涉及到与html文档一起使用时,class与id名称对大小写敏感
css注释/…/
二、HTML中三种引入CSS形式
1. 行内样式表(行内引入方式)
- 【body】下,在当前的标签【div】内使用了【style】属性,在style属性之后的内容都是CSS样式表
- CSS样式表中也是键值对形式,键值对的分隔符是一个 【:】,而且每一个属性之后都有 【;】结尾
<div style="color: red;font-family: '隶书';font-size: 30px;">
我爱中国
</div>
2. 内联样式表
- 在【head】标签内,使用【style】标签,在style标签内都是CSS样式表
- style标签有一个type属性, text/css 可视化文本的css样式表
- 在css文件中的注释方式 /**/ 可以作为单行注释,也可以作为多行
<!--所有p标签可以使用-->
p {
color: green;
font-size: 32px;
font-family: "仿宋";
}
<!--操作某一个代号p标签修饰的字段-->
#p1{
color: darkred;
}
<p id="p1">
日照香炉生紫烟
</p>
3.外联样式表
- 在【head】标签内使用【link】标签,连接外部的CSS样式表(外部需要构建.css文件)
- link标签属性
- -rel: 连接文件的类型
- type: text/css 可视化文本的css文件
- href: CSS文件所处的路径,可以是本地路径,也可以是网络路径
<!--CSS文件-->
table {
border: 1px green solid;
}
td,th {
border: 1px red solid;
}
<!--html导入-->
<link href="style.css" rel="stylesheet" type="text/css"/>
<style type="text/css">
@import url(main.css);
@import url(sheet1.css) all;
@import url(print.css) print;
h1{
color:blue;}
</style>
优势
- 可以满足多个页面的统一化处理,归纳总结思想
- 可以提供用户访问网站的速度,外联样式表可以保存在本地,下一次打开网站不需要申请下载CSS样式表
- 可以提供公司服务器带宽使用效率,降低带宽需求,可以满足更多的用户
优先级:内联样式>内部样式>外部样式
三、CSS选择器
1.基本选择器
除了前面提到的通过【标签】和【id】选择,还可以通过Class选择,因为id不能一样,所以只能操作一个标签,而标签选择操作范围又太大,这里便引入了class。
<style type="text/css">
.s1{
color: purple;font-size: 100px}
.s2{
color: pink;font-size: 100px}
.s3{
color: yellow;font-size: 100px}
</style>
<div class="s1">hello,everyone!</div>
<div class="s2">hello,everyone!</div>
<div class="s3