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

前言:在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. HDU1800 字典树写法

    题意:高级魔法师可以教低级魔法师 魔法扫把技能,同时教会了的低级魔法师又可以教比他更低级是,是传递的关系 同时如果教会了的话,他们可以同时坐一个扫把 问最少需要多少个扫把 思路:就是判断相同的数字最多 ...

  2. HDU1251 字典树板子题

    题意:中文题,统计以某字符串作为前缀的字符串个数 刚学字典树,理解起来十分简单,就是维护一个多叉树,这里用的是链表版本,后面就用的是数组版本了,个人更喜欢数组版本,这里的链表版本就因为 莫名其妙的错误 ...

  3. 洛谷3707 [SDOI2017] 相关分析 【线段树】

    分析: 化简一下就行了,注意一下平方和公式的运用以及精度的误差. 代码: #include<bits/stdc++.h> using namespace std; ; int n,m; i ...

  4. 【XSY1551】往事 广义后缀数组 线段树合并

    题目大意 给你一颗trie树,令\(s_i\)为点\(i\)到根的路径上的字符组成的字符串.求\(max_{u\neq v}(LCP(s_u,s_v)+LCS(s_u,s_v))\) \(LCP=\) ...

  5. WINDOWS 包管理器 Chocolatey

    https://chocolatey.org/ - 官网 安装: @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe& ...

  6. MT【244】调和分割

    已知椭圆方程:$\dfrac{x^2}{4}+\dfrac{y^2}{3}=1$,过点$P(1,1)$的两条直线分别与椭圆交于点$A,C$和$B,D$,且满足$\overrightarrow{AP}= ...

  7. 【NOIP2018 Day1】题解

    T3 rp++; 今天题比较简单 而且考了很多嫌疑原题? 大家基本250+ 本蒟蒻...T3十分看脸 再次祝rp++; T1 积木大赛本赛嘛 如果d[i] < d[i - 1] ans += d ...

  8. Leetcode 167. 两数之和 II - 输入有序数组 By Python

    给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2. 说明: 返回的下标值 ...

  9. <数据结构基础学习>(一)数组

    一.数组基础 1.数组,即把数据码成一排存放. 数组优点:快速查询. 数组最好应用于“索引有语意”的情况,但并非所有有语意的索引都适用于数组,数组也可以处理“索引没有语意”的情况. 2.增.删.改.查 ...

  10. multiset和set

    set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值:另外,还 ...