一、CSS 简介
CSS 指层叠样式表 (Cascading Style Sheets),是一种用来表现 HTML 文档样式的语言,样式定义如何显示 HTML 元素,是能够真正做到网页表现与结构分离的一种样式设计语言。样式通常存储在样式表中,外部样式表通常存储在 CSS 文件中,多个样式定义可层叠为一。
HTML 标签被设计为用于定义文档内容,也就是文档结构,为了增强代码的可读性,实现网页结构与表现相分离的原则,万维网联盟(W3C),肩负起了 HTML 标准化的使命,并在 HTML4 之外创造出样式(Style)。CSS 目前最新版本是 CSS3,相对于传统 HTML 的表现而言,CSS 能够对网页中对象的位置排版进行像素级的精确控制,拥有对网页对象编辑的能力,易于维护和改版,提高页面浏览速度,使用 CSS 布局页面更符合 W3C 标准,他是目前基于文本展示最优秀的表现设计语言。
CSS 样式表极大地提高了工作效率:样式通常保存在外部的 .css 文件中,通过仅仅编辑一个简单的 CSS 文档,外部样式表有能力同时改变站点中所有页面的布局和外观。
二、CSS 语法
选择器 {属性1:值1 ;属性2:值2 ;...;属性N:值N; } ,选择器就是要改变页面中的哪些元素
<选择器>
- 元素选择器,格式:元素名
- id选择器,格式:#id
- 类选择器,格式:.class
- 后代选择器,格式:选择器1 选择器2
- id选择器:
id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式,id 属性和身份证一样 具有唯一性。HTML元素以 id 属性来设置 id 选择器,CSS 中 id 选择器以 "#" 来定义。注意: id 属性不能以数字开头。
2.class 选择器
class 选择器用于描述一组元素的样式,也叫做类选择器,class 选择器有别于 id 选择器,class 可以在多个元素中使用,并且一个元素也可以指定多个类名。class 选择器在 HTML 中以 class 属性表示,在 CSS 中,类选择器以一个点 "." 号来定义。可以设置所有带有指定 class 的 HTML 元素,也可以指定特定的 HTML 元素使用 class。注意:类名的第一个字符也不能使用数字。
3.ID 选择器和类(class)选择器的区别
- 相同点:可以应用于任何元素。
- 不同点:
①ID 选择器只能在文档中使用一次。与类选择器不同,在一个 HTML 文档中,ID 选择器只能使用一次,而且仅一次。而类选择器可以使用多次。
②可以使用类选择器词列表方法为一个元素同时设置多个样式。在一个 HTML 文档中,可以为一个元素同时设置多个样式,但只可以用类选择器的方法实现,ID 选择器是不可以的,不能使用 ID 词列表,即一个元素可以指定多个类名,如 <span class="one two three">文本</span>,而 ID 只能指定一个。
注:
- 选择器就是需要改变样式的 HTML 元素。每条声明由一个属性和一个值组成,属性是设置的样式属性(style attribute),每个属性都有一个值,属性和值用冒号分隔。CSS 声明总是以分号 ; 结束,声明组以大括号 {...} 括起来。为了让 CSS 可读性更强,可以每行只描述一个属性。
- CSS 注释是用来解释代码,并且可以随意编辑,浏览器会忽略它。CSS注释以 "/*" 开始,以 "*/" 结束。
![7690b9be592ab0cb10bde6e9ae4e4c06.png](https://img-blog.csdnimg.cn/img_convert/7690b9be592ab0cb10bde6e9ae4e4c06.png)
三、css的样式位置
①外部样式表
外部样式也叫做外联样式,即使用 <link> 标签链接到外部样式表,
<link rel="stylesheet" href="xxx.css" />
注:
- 当样式需要应用于很多页面时,外部样式表将是理想的选择,在使用外部样式表的情况下,可以通过改变一个文件来改变整个站点的外观。每个页面使用 <link> 标签链接到样式表,浏览器会从文件 style.css 中读到样式声明,并根据它来格式化文档。注意:<link> 标签中 rel="stylesheet" type="text/css" 是固定代码格式,不可更改。
- " ,那么它在不同的浏览器中可能无法正常工作,导致意向不到的结果。
②内联样式表(直接给元素添加样式)在相关标签内使用样式(style)属性定义
在元素中添加style,例如 <p style="color:blue">我是一段话</p>zh
注:由于要将表现和内容混杂在一起,内联样式会损失掉样式表的许多优势。因此需要慎用这种方法,例如当样式仅需要在一个元素上应用一次时,可以使用内联样式。要使用内联样式,需要在相关的标签内使用样式属性定义,style 属性可以包含任何 CSS 属性。
③嵌入式样式表(在html中使用style标签)
即在文档中创建内嵌的样式表,需要使用 <style> 标签在文档头部定义内部样式表,
当单个文档需要特殊的样式时,就应该使用内部样式表。
<style type="text/css"> h3{ font-size : 72px} </style>
![4c7e609bce2977167c3007c06ce85f0c.png](https://img-blog.csdnimg.cn/img_convert/4c7e609bce2977167c3007c06ce85f0c.png)
四、样式优先级
样式优先级,也可以称为层叠次序,即同一个 HTML 元素不止被一个样式定义时,会优先使用哪个样式。一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中:内联样式 > 内部样式 > 外部样式
内联样式(在 HTML 元素内部)拥有最高的优先权,即优先采用在元素内部定义的样式信息,然后是内部样式表(位于 <head> 标签内部),最后是外部样式表中的样式声明,浏览器中的样式声明(缺省值)同外部样式处于同一层次。
优先级的顺序是有一个前提的,即内联样式、内部样式、外部样式表中 CSS 样式是在的相同权值的情况下。但是内部样式 > 外部式也有一个前提,即内部样式的位置一定在外部样式的后面。样式优先级,也可以称为层叠次序,即同一个 HTML 元素不止被一个样式定义时,会优先使用哪个样式。