目录
代码:创建名为h1.css的文件,并利用link标签应用到单个文档之中
代码:在h1.css的文件中将背景颜色设为绿色,字体大小设定为20px
代码:在h1.css的文件中,为cs1与cs2的class类设置样式
代码:在h1.css的文件中,为标签h2,即id为mytitle的标签设置样式
样式优先级实验(优先级从高到低: 行内样式(内联引用) > ID选择器 > 类选择器 > 元素选择器)
条件搭建:(为避免以上的覆盖影响,将以已知的优先级倒序进行设定)
css的引入方式
内联样式(行内样式)
- 在相关的标签内使用样式(style)属性。 Style 属性可以包含任何 CSS 属性(优先级最高,但缺乏整体性和规划性,不利于维护,维护成本高)
代码:背景设定为红色,字体大小变为24px
<p style="background-color:red;font-size:24px;">CSS</p>
实际效果:
内部样式
- 在head头标签内引用style标签,并使用选择器对单个文档的标签进行个性化样式设定。(单个页面内的CSS代码具有统一性和规划性,便于维护,但是在 多个页面之间容易混乱)
代码:为h1设定背景颜色为红色,大小为100px的样式
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> h1{ background-color:green; font-size:100px; } </style> </head> <body> <h1>CSS</h1> </body>
效果:
外部样式
- 单独创建css文档,在需要使用的文档头标签处,使用link将css文件中将生效的个性化标签效果生效。
代码:创建名为h1.css的文件,并利用link标签应用到单个文档之中
- 创建名为h1.css的文件
h1{ background-color:green; font-size:100px; }
- 利用link标签应用到单个文档
<head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="h1.css"> </head> <body> <h1>CSS</h1> </body>
- 创建名为h1.css的文件
效果:
- 未引用前:
- 引用后:
- 未引用前:
选择器的使用(以下的实际效果都是采取外部引入的方式)
全局选择器
- 可以与任何元素匹配(整个页面都为此样式),优先级最低,一般做样式初始化
代码:在h1.css的文件中将背景颜色设为绿色,字体大小设定为20px
*{ background-color:green; font-size:20px; }
效果:
元素选择器
- 又称标签选择器,选择的是页面上所有这种类型的标签,所以经常描述 “共性”,无法描述某一个元素的“个性”(即只能针对这一类标签做统一设定,但并未能对这一类标签做另类处理(因此引出类选择器、id选择器))
代码:在h1.css的文件中,只为h2标签设定样式
h2{ background-color:green; font-size:20px; }
效果:
特性:
所有的标签,都可以是选择器。比如ul、li、label、dt、dl、input、div等
无论这个标签藏的多深,一定能够被选择上
选择的所有,而不是一个
例如:在如下嵌套下,将所有的span标签都设定为背景为红,大小为100px的样式
-
<p>css7,<span>css8</span></p>
<div>
<ul>
<li>
<ol>
<li><span>在这里</span></li>
<li>不是这里</li>
</ol>
</li>
<li>不是这里</li>
</ul>
</div>
-
代码:在h1.css的文件中,为span设置样式
span{ background-color:red; font-size:20px; }
效果:
类选择器
- 规定用圆点.来定义,针对你想要的所有标签使用
特点:
- 类选择器可以被多种标签使用
- 类名不能以数字开头
- 同一个标签可以使用多个类选择器。用空格隔开
例如:为以下代码设定样式
<h1>css1</h1>
<h2 class="cs1">css2</h2>
<h3 class="cs2">css3</h3>
<h4 class="cs1 cs2">css4</h4>
<h5>css5</h5>
<h6>css6</h6>
<p>css7,<span>css8</span></p>
代码:在h1.css的文件中,为cs1与cs2的class类设置样式
.cs1{ background-color:red; } .cs2{ font-size:50px; }
效果:
id选择器
- 针对某一个特定的标签来使用,只能使用一次。(虽然其他的标签使用别的id样式也能成效,但id代表唯一,不建议个人标签的id供其他标签使用)
特点:
- id唯一
- id不能以数字开头
- id选择器的名称前使用#
代码:在h1.css的文件中,为标签h2,即id为mytitle的标签设置样式
<h1>css1</h1>
<h2 id="mytitle">css2</h2>
<h3>css3</h3>
<h4>css4</h4>
<h5>css5</h5>
<h6>css6</h6>
<p>css7,<span>css8</span></p>
#mytitle{ background-color:red; font-size: 50px; }
效果:
样式优先级实验(优先级从高到低: 行内样式(内联引用) > ID选择器 > 类选择器 > 元素选择器)
内联引用与内部引用的优先级实验
条件搭建:
- 内部引用:在同一文档中的head头标签的style标签中,为p设定背景颜色为绿色的样式设定。
- 内联引用:在同一文档中的,p标签内设定背景颜色为红色的样式。
- 代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> p{ background-color:green; } </style> </head> <body> <p style="background-color: red;">是红色的内联引用优先级高还是绿色的内部引用优先级高</p> </body> </html>
实际效果:
结论:
内联引用的优先级比内部引用的优先级高
内部引用与外部引用的优先级实验
条件搭建:
- 内部引用:在同一文档中的head头标签的style标签中,为p设定背景颜色为绿色的样式。
- 外部引用:创建名为h1.css的文件,为p标签设定背景颜色为红色的样式,并在同一文档中了利用link标签进行引用。
- 代码
p{ background-color:red; } #名为h1.css文件的设定
- 同一文档的引用方式1:style在前,link在后
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> p{ background-color:green; } </style> <link rel="stylesheet" href="h1.css"> </head> <body> <p>是红色的外部引用优先级高还是绿色的内部引用优先级高</p> </body> </html>
- 同一文档的引用方式2:link在前,style在后
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="h1.css"> <style> p{ background-color:green; } </style> </head> <body> <p>是红色的外部引用优先级高还是绿色的内部引用优先级高</p> </body> </html>
实际效果:
引用方式1的效果:
引用方式2的效果:
结论:
- 两者的优先级取决于引用的先后顺序(为同一标签设定时会出现后者效果覆盖前者的效果):
- 如若引用方式1:style在前,link在后,那么内部优先级高。
- 而若如引用方式2:link在前,style在后,那么则是外部优先级高
- 两者的优先级取决于引用的先后顺序(为同一标签设定时会出现后者效果覆盖前者的效果):
各类选择器的优先级实验
条件搭建:(为避免以上的覆盖影响,将以已知的优先级倒序进行设定)
- 为元素选择器的p标签设定背景颜色为蓝色
- 为具有类选择器的p标签设定背景颜色为黄色
- 为具备ID选择器的p标签设定背景颜色为红色
- 文档中的设定
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="h1.css"> </head> <body> <p id="my" class="MY">优先级是否为:ID选择器 > 类选择器 > 元素选择器</p> </body> </html>
- 名为h1.css中的设定
- 验证1:验证ID选择器 > 类选择器 > 元素选择器
p{ background-color:blue; } .MY{ background-color: yellow; } #my{ background-color: red; }
验证2:验证类选择器 > 元素选择器
p{ background-color:blue; } .MY{ background-color: yellow; }
- 验证1:验证ID选择器 > 类选择器 > 元素选择器
- 文档中的设定
实际效果:
:验证1
验证2:
结论:
- 同一标签下,选择器中的优先级为ID选择器 > 类选择器 > 元素选择器