---恢复内容开始---

前言:在CSS中选择器的种类有很多很多,但是在实际的工作中,我们经常会用到的分为两大类:基础选择器和复合选择器这两个大类,学习选择器的目的就是为了在复杂的页面中能够快速定位到你需要添加的层叠样式,好了,下面我们开始进入选择器的学习吧。

(一)基础选择器

  1、标签选择器(元素选择器)

      什么是标签选择器:是指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式。

      作用:标签选择器 可以把某一类标签全部选择出来 比如所有的div标签 和 所有的 span标签

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
p { }
</style>
</head>
<body>
<p>我是一个段落</p>
</body>
</html>

  

  2、类选择器(可以建议多用)

    每一个标签都会有class 属性;

    用.(英文状态的点来选择)

    用法代码如下:

 <!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.box {
color:12px;
}
</style> </head>
<body>
<div class="box"></div>
</body>
</html>

  !注意类选择器可以重复的使用

  

  2、多类名选择器

    目的:为了节省代码的长度;如下:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.box {
color:12px;
}
.boy{
font-weight: 50px;
}
</style>
</head>
<body>
<div class="box boy"></div>
</body>
</html>

    !注意:多类名选择器是类选择器延伸出来的知识点,这样做有利于减少代码量,同时增加代码的重用性能;

  3、id选择器(建议少用在CSS中)

    实行的方法:和class基本的方法相同;

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
#box {
font-weight: 700;
}
</style> </head>
<body>
<div id="box"></div>
</body>
</html>

    !注意这个选择器只能是唯一的,不能重名。

  4、*通配 选择器

    一般多用于清除浏览器的边距用的,但是由于*会拖慢页面的加载速度,因此我们也是比较少用的。

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
* {
margin:0;
} </head>
<body>
<div id="box"></div>
</body>
</html>

(二)复合选择器

  1、后代选择器

    之前的学习中,我们已经认识了什么是父子关系的结构,这个选择器是通过后代选择的方法找到想要加层叠样式的标签,这里的后代是指儿子和孙子一直的下一代。使用的格式是:父亲级标签+(空格)+儿子级标签。

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.box span {
color: red;
}
</style>
</head>
<body>
<div class="box">
<span></span>
</div>
</body>
</html>

  2、子元素选择器

    是指:子元素选择器只能选择作为某元素子元素的元素。其写法就是把父级标签写在前面,子级标签写在后面,中间跟一个 进行连接,注意,符号左右两侧各保留一个空格。只能选择到子代这个标签元素其余的元素是不会影响的。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.box>span {
color: red;
}
</style>
</head>
<body>
<div class="box">
<span>
我是儿子代
<span>我是孙子代</span>
</span>
</div>
</body>
</html>

  3、交集选择器

    是指同时满足两个或者两个以上的标签才可以设置这个标签元素的层叠样式。通常的格式是div.class或者div#id等。

      

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
div.box {
line-height: 30px;
}
</style>
</head>
<body>
<div class="box" id="box1">
<span>
我是儿子代
<span>我是孙子代</span>
</span>
</div>
</body>
</html>

  4、并集选择器

    是指同时给多个标签设置相同的样式,和class方法有一点类似,但是表现的形式不同,比较常用的标签。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
div,span,p {
margin: 0;
}
</style>
</head>
<body>
<div class="box" id="box1">
<span>
我是儿子代
<span>我是孙子代</span>
</span>
<p>我是老二</p>
</div>
</body>
</html>

小结:基础选择器和复合选择器在项目开发中是比较常用的,但是会有一个问题,复合选择器在一些用习惯了空格的程序员的书写中会出现不自觉的敲了空格键或者是由于别的原因输入,此时最容易与后代选择器混淆,一般情况下如果一个选择器在开始执行的时候如果遇到空格它会默认去除掉,因为这个选择器还没有结束,因此不会开始一个新的选择器,因此为了让代码可读性更高,要符合选择器的使用规则。

(三)链接伪类选择器(是重点的内容)

  1、选择器:link的格式,(链接的正常状态下)

    这里的选择器我们可以用我们之前学习过的不单单只限定用a这个标签,

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
a:link {
background-color: #f00;
}
span a:link {
background-color: #00f;
}
</style>
</head>
<body>
<div class="box" id="box1">
<span>
我是儿子代
<a href="#">111</a>
<span>我是孙子代</span>
</span>
<p>我是老二</p>
</div>
</body>
</html>

    

  2、选择器:visited的格式(链接被访问过的状态下)

      这个选择器同上也是一样的使用方法就不一一讲诉了。

    <style>
a:visited {
background-color: #f00;
}
span a:link {
background-color: #00f;
}
</style>

  3、选择器:hover的格式是鼠标经过时候的样式。

    <style>
a:hover {
background-color: #f00;
}
span a:link {
background-color: #00f;
}
</style>

  4、选择器:active的格式是指鼠标按下但是不松手时候显示的格式。

    <style>
a:active {
background-color: #f00;
}
span a:link {
background-color: #00f;
}
</style>

  !注意

  • 写的时候,他们的顺序尽量不要颠倒 按照 lvha 的顺序。

  • 记忆法 可以是 love hate 爱上了讨厌 或者 lv 包包 非常 hao

  • 因为叫链接伪类,所以都是 利用交集选择器 a:link a:hover

结论:选择器在CSS是比较常见,为了更加精确的选择到我们需要的标签,我们还应该通过W3C手册查看更多的选择器的样式,遇到问题要及时反思同时也要不断思考为什么要这样做,这样做的好处是什么?

---恢复内容结束---

CSS常用选择器的认识的更多相关文章

  1. CSS常用选择器

    关于CSS常用选择器: 1.ID选择器 关于ID选择器具有唯一性,在文档流中,ID是唯一的,在低版本的浏览器中,允许出现不适唯一ID的情况,而在高版本的浏览器中,出现ID不唯一的情况浏览器会出现的报错 ...

  2. CSS常用选择器名

    一.页面结构划分 box 盒子wrap 包裹container 容器 header 头部main 主要区域footer 底部 content 内容区域banner 横幅广告区域menu 菜单 二.模块 ...

  3. 【WEB前端】CSS常用选择器

    1.1 标签选择器 就是用标签名来当做选择器. 1) 所有标签都能够当做选择器,比如body.h1.dl.ul.span等等 2) 不管这个标签藏的多深,都能够被选择上. 3) 选择的是所有的,而不是 ...

  4. css常用选择器选择器

    tap选择器 ulclass选择器 .id选择器 #后代选择器 a b子代选择器 a>b兄弟选择器 a + b 以a为参考给b加样式属性选择器 input [type="text&qu ...

  5. 学习css常用基本层级伪类属性选择器

    常见的css选择器包含:常用选择器.基本选择器.层级选择器.伪类选择器.属性选择器,其中常用选择器分为:1.html选择符*{}//给页面上所有的标签设置模式:2.类选择符.hcls{}//给clas ...

  6. 23----2013.07.01---Div和Span区别,Css常用属性,选择器,使用css的方式,脱离文档流,div+css布局,盒子模型,框架,js基本介绍

    01 复习内容 复习之前的知识点 02演示VS创建元素 03div和span区别 通过display属性进行DIV与Span之间的转换.div->span 设置display:inline   ...

  7. CSS选择器详解(一)常用选择器

    目录 类型选择器 类选择器 ID选择器 伪类 伪元素 类型选择器 通过类型选择器可以选择某一类型的html标签,并对其使用样式. 语法: selector {property1: value; pro ...

  8. HTML&CSS基础-常用选择器

    HTML&CSS基础-常用选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html> & ...

  9. 前端面试之CSS常用的选择器!

    前端面试之CSS常用的选择器! 标签选择器 <style> /* <!-- 标签选择器 :写上标签名 -->*/ p { color: green; } div { color ...

随机推荐

  1. python中的map函数

    def f(x): return x * x """将一个全是数字的list变成平方形式""" def f2(): ls = [1, 2, ...

  2. 【XSY1591】卡片游戏 DP

    题目描述 有标有数字为\(1\)~\(9\)的卡片各\(a_1,a_2\cdots a_9\)张,还有标有乘号的卡片\(m\)张.从中取出\(n\)张按任意顺序排列,取出两个乘号相邻和乘法在边界上的非 ...

  3. 【支付宝】支付 系统繁忙,请稍后再试(ALIN10146)

    https://openclub.alipay.com/read.php?tid=6918&fid=60 我碰到的是这个问题导致 把signType 改为  RSA2   改成      

  4. JLOI2015 DAY2 简要题解

    「JLOI2015」骗我呢 题意 问有多少个 \(n \times m\) 的矩阵 \(\{x_{i, j}\}\) 满足 对于 \(\forall i \in [1, n], j \in [1, m ...

  5. docker_flannel

    目录 一.安装etcd 安装 运行 验证 二.安装和配置 flannel 三. Docker 中使用 flannel 配置 Docker 连接 flannel 容器连接到 flannel 网络 四.f ...

  6. js笔记-语句,变量

    JavaScript介绍 JavaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互. JavaScript是浏览器解释执行的,前端脚 ...

  7. css颜色表示法

    css颜色值主要有三种表示方法: 1.颜色名表示,比如:red 红色,gold 金色 2.rgb表示,比如:rgb(255,0,0)表示红色 3.16进制数值表示,比如:#ff0000 表示红色,这种 ...

  8. SNMP扫描

    ------------------------------------------------------------------grub引导密码:[root@localhost ~]# jm4pt ...

  9. 构建SFTP服务

    ---------------增加sftp-----------------查看openssh的版本# ssh -V使用ssh -V 命令来查看openssh的版本,版本必须大于4.8p1,低于的这个 ...

  10. hdu 1527 (威佐夫博弈)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1527 Problem Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石 ...