文章目录
CSS主要用来设计网页的样式,美化网页,从页面布局、字体、颜色、背景和其他种种方面提升网页的颜值,因此此节就来掌握一下CSS中最最基础的几种选择器的用法。
一、基本语法掌握
基本语法形式:
选择器 {
N条声明;
}
- 不同的选择器决定了不同的修改对象
- 不同的声明以键值对的方式来决定修改成什么样子(每个键值对用;进行分割,键和值之间用:分割)
- 开发时最好统一使用小写字母
- 初学CSS最好使用展开的代码分割
- 键值对中的冒号后面以及选择器和 { 之间最好加上一个空格
??代码示例:
<style>
div {
/* 设置颜色 */
color: red;
/* 设置字体的大小 */
font-size: 30px;
}
</style>
<div>
基础语法书写!
</div>
?? 代码结果:
??代码解释:
- CSS需要写到style标签中,style标签是可以放在页面的任何的地方的,但通常来说会放在head标签中
- 在CSS中代码的注释需要用/**/来注释掉(快捷键:ctrl + /)
二、CSS的引入方式
2.1 内部样式
内部样式
就像上面的代码解释说的一样,将CSS写到style标签中,嵌入到HTML中,在学习CSS的初期一般就是使用这样的方法,使得样式和页面结构分离,但是缺点是当想要设置的样式非常多时就显得代码过于啰嗦,不明确,因此实际开发中使用下面介绍到的外部样式会更加多。
2.2 行内样式
行内样式(也称内联样式)
,顾名思义,就是直接将样式通过style属性写在元素的内部,当该种方式和内部样式同时存在的时候,会优先采取行内样式。缺点就在于这种写法不能写的太复杂,且只针对某一个标签产生效果。
??代码示例:
<div style="color: blue;font-size: 40px;">基础语法书写!</div>
?? 代码结果:
2.3 外部样式
外部样式
作为实际开发中最常用的方式,需要先创建一个CSS文件,然后使用link标签引入CSS,这样样式和结构就可以分离,需要使用该种样式时直接调用即可。
??代码示例:
步骤一:创建CSS文件,并且写入内容
div {
color: brown;
font-size: 50px;
}
步骤二:创建HTML文件,使用link标签引入写好的CSS文件
<!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>CSS选择器练习</title>
<link rel="stylesheet" href="ty.css">
</head>
<body>
<div>
外部样式!
</div>
</body>
</html>
link标签中的rel属性默认为stylesheet不变,href属性写的是需要引入的CSS文件的相对地址。
?? 代码结果:
需要注意的是该方法的缺点就是会受到浏览器缓存的影响,修改了以后未必立即生效。
关于浏览器缓存问题
当访问一个网页时,会需要从服务区上下载很多内容,例如HTML,CSS,js,图片等相关资源,由于这些资源大多不会改变的非常频繁,所以,为了加快访问速度减少下载的量,浏览器会将这些资源下载下来保存在本地磁盘中,从磁盘中读取资源会更加的快。但当这些资源被修改时,需要将浏览器强制刷新(ctrl+F5)达到将这些资源重新下载一遍的作用。
作为用户不一定会强制刷新,所以解决办法就在于重新将资源进行命名(通过程序自动生成后缀),当缓存中不存在该文件的时候就会触发重新下载。
三、选择器
选择器的种类有很多,这里将会介绍最最常用的八大选择器。
分为两类,基础选择器和复合选择器,前者由单个选择器构成,后者可以由多个基础选择器组合而成。
3.1 基础选择器
3.1.1 标签选择器
??代码示例:
<style>
p {
color: aqua;
}
div {
font-size: 25px;
}
</style>
<p>标签选择器!</p>
<div>标签选择器!</div>
?? 代码结果:
特点:
能够快速将同一类型的标签选择出来,但无法进行差异化选择。
3.1.2 类选择器
??代码示例:
<style>
.purple {
color:purple;
}
.large {
font-size: large;
}
</style>
<div class="purple large">
类选择器的使用!
</div>
用法:
- 类选择器中的类用
.
开头 - 类名最好具有一定的意义,不可以使用纯数字或者中文或者标签名,当标签名较长,比如由很多单词构成时,可以使用
-
来进行分割(类似于font-size) - 一个标签中可以通过class属性来调用,一个类可以被多个标签调用,一个标签可以调用多个类,类与类之间用
空格
来分割
?? 代码结果:
特点:
实现即使是同一种标签也可以差异化的功能,以及多个标签都是用同一个类的功能,达到了代码的复用
3.1.3 id选择器
??代码示例:
<style>
#first {
color: blue;
font-size: larger;
}
</style>
<div id="first">
id选择器的使用!
</div>
用法:
- id选择器需要用
#
开头 - 当HTML中某一个元素的id值和id选择器中的值相同时(元素的id是不带#的),那么该元素就得到了选择器中的样式声明
- 元素的id是
唯一
的,因此id选择器最多被一个元素调用
?? 代码结果:
特点:
最多被一个标签所调用
3.1.4 通配符选择器
??代码示例:
<style>
* {
color: blueviolet;
font-size: 35px;
}
</style>
<div>
通配符选择器的使用!
</div>
<p>
通配符选择器的使用!
</p>
用法:
- 通配符选择器使用
*
定义,代表着选取了所有的标签
?? 代码结果:
特点:
页面的所有内容都会变成相同的样式
3.2 复合选择器
3.2.1 后代选择器
基本语法形式:
元素1 元素2 {
N条声明;
}
??代码示例:
<style>
ol li a {
color:red;
font-size: 20px;
}
.two a {
color: brown;
font-size: 25px;
}
</style>
<ol>
<li>实例一</li>
<li>
<a href="https://www.csdn.net/">CSDN1</a>
</li>
</ol>
<ul class="two">
<li>实例二</li>
<li>
<a href="https://www.csdn.net/">CSDN2</a>
</li>
</ul>
用法:
- 后代选择器又叫包含选择器,可以用
空格
将父类和该父类的后代
(可以是子代、孙代及以后)分割开来,从而选择目标元素 - 可以组合任意基础选择器,如实例二所示
?? 代码结果:
3.2.2 子选择器
??代码示例:
<style>
div>p {
color: gold;
font-size: 30px;
}
</style>
<div>
<p>第一部分</p>
<p>
<span>第二部分</span>
</p>
<span>
<p>第三部分</p>
</span>
</div>
用法:
- 和后代选择器的用法是非常的类似的,不同的是子代选择器
只能选择子标签
- 父代标签和子代标签之间用
>
进行连接
?? 代码结果:
3.2.3 并集选择器
??代码示例:
<style>
p,
a,
ol>li {
color: green;
font-size: medium;
}
</style>
<p>并集选择器</p>
<a href="#">并集选择器</a>
<ol>
<li>并集选择器</li>
</ol>
用法:
- 通过
,
分割多个想要设置某一样式的元素 - 并集选择器可以使用到任何类型的基础选择器
- 并集选择器中的各个选择器最好竖着写,一个选择器占一行
?? 代码结果:
3.3.4 伪类选择器
??代码示例:
链接伪类选择器:
<style>
a:link {
color: black;
}
a:visited {
color: rgb(220, 20, 238);
}
a:hover {
color:red;
}
a:active {
color: brown;
}
</style>
<a href="#">链接</a>
用法:
- a:link 选中
没有
被访问过的链接 - a:visited 选中
已经
被访问过的链接 - a:hover 选择鼠标
悬停
在链接上方的链接 - a:active 选择鼠标
按下
了但是未弹起
的链接
?? 代码结果:
注意:
- 当链接已经被访问过时,想要达到目标效果的话就需要清空浏览器历史记录(快捷键:ctrl+shift+delete)
- 需要按照
link->visited->hover->active
的顺序书写 - 实际开发时hover样式的设置会更加常见
??代码示例:
force伪类选择器:
<style>
div>input:focus {
color:red;
}
</style>
<div>
<input type="text"><br/>
<input type="text"><br/>
<input type="text">
</div>
用法:
选中获取焦点的input表单元素,案例中,被选中的表单中的光标就会变成红色,并会打出红色的字体
?? 代码结果:
3.3选择器小结
作用
特点
标签选择器
可以选中相同类型的标签
不可差异化的选择
类选择器
能选中一个或多个标签
可以在多个标签中应用,最为常用、灵活
id选择器
只能选中一个标签
被选中的id在HTML中最多出现一次
通配符选择器
选中所有标签
特殊情况下使用
后代选择器
选中后代元素
后代包括子代及以后
子选择器
选中子元素
只能选中子元素
并集选择器
选中各种标签类型
做到代码的重复利用
伪类选择器
选中不同状态的链接或按钮或文本框等
常用a:hover和input:focus
完!