一、CSS 概述
- CSS(cascading style sheet) 汉译为层叠样式表,是用于控制网页样式
CSS优势
CSS语法由两部分组成:选择器、样式声明。
- 样式声明包括:属性和属性值
- 选择符 {属性: 属性值 ;属性:属性值}
- 基础的CSS样式
- 宽度 width:200px;
- 高度 height:200px;
- 字体颜色 color:red;
- 背景颜色 background-color:yellow;
CSS 特点
<style type="text/css">
css语句
</style>
2.外部样式表
- 语法:
<link rel="stylesheet" type="text/css" href="目标文件的路径及文件名全称" />
- 使用 link 元素导入外部样式表时,需将该元素写在文档头部,即与之间。
- rel:用于定义文档关联,表示关联样式表;
- type:定义文档类型;
- 在外部css样式表最顶部添加
@charset"utf-8";
防止css中存在中文而产生的乱码问题3.行内样式/内联样式
<div style="width: 200px;height: 200px;background-color: yellow;">这是第一个div</div>
4.扩展:@import方法
<style type="text/css"> @import url("目标文件的路径及文件名全称"); </style>
- 面试题:link 与 @import 方法的区别
- 老祖宗的差别:link属于XHTML标签,而@import完全是CSS提供的一种方式。 link标签除了可以加载CSS外,还可以做很多其它的事情,比如定义RSS,定义rel连接属性等,@import就只能加载CSS。
- 加载顺序的差别:当一个页面被加载的时候(就是被浏览者浏览的时候),link引用的CSS会同时被加载,而@import引用的CSS 会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式。
- 兼容性的差别。:@import是CSS2.1提出的,所以老的浏览器不支持,@import只在IE5以上的才能识别,而link标签无此问题。
- 使用dom控制样式时的差别:当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的。
四、CSS的层叠性
- CSS三大特性-继承性、层叠性、优先级
- CSS层叠性指多种CSS样式的叠加
- 是浏览器处理冲突的一个能力,只有在多个选择器选中”同一个标签”, 然后又设置了”相同的属性”, 才会发生层叠性。层叠性由优先级决定。
- CSS层叠性原则:
- 样式冲突,选择器权值相同遵循就近原则,选择器权值不同则应用权值大的
- 样式不冲突,属性都会生效