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

前言:在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. P1282 多米诺骨牌 dp

    思路:dp[i][j] 的j是上半段的和的值   这里表示的是达到上半段值是j的最小次数 答案在最小的可达到的j #include<bits/stdc++.h> using namespa ...

  2. FAQ常见问题解答---搭建hubot

    1. [root@test160 ~]# npm install -g n npm ERR! Error: CERT_UNTRUSTED 证书不受信任的 解决办法: npm config set st ...

  3. readlink: command not found 解决方案

    /c/Program Files (x86)/Yarn/bin/yarn: line 3: readlink: command not found 用gitbash运行yarn时提示这个错误,但没有直 ...

  4. 【转】void 详解

    void关键字的使用规则: 1. 如果函数没有返回值,那么应声明为void类型: 2. 如果函数无参数,那么应声明其参数为void: 3. 如果函数的参数可以是任意类型指针,那么应声明其参数为void ...

  5. 加载样式TTFB waiting时间长

    1.谷歌浏览器64位 2.在调试网页的时候,每回修改一个,刷新时,速度很慢 3.结果很恼火.每调试一回等半天.效率低下.... 解决办法是: "在每个CSS规则的后面加一个空行". ...

  6. 借助baidu的jsonp接口,做一个自己的候选词组件

    先观察 对接口进行提炼:https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=关键词&cb=回调函数 简单测试一下: <!DOC ...

  7. 用Python计算幂的两种方法,非递归和递归法

    用Python计算幂的两种方法: #coding:utf-8 #计算幂的两种方法.py #1.常规方法利用函数 #不使用递归计算幂的方法 """ def power(x, ...

  8. OpenLayers学习笔记(四)— QML显示html中openlayers地图的坐标

    GitHub:八至 作者:狐狸家的鱼 本文链接:实现QML中显示html中地图的坐标 如何QML与HTML通信已经在这篇文章 QML与HTML通信之画图 详细讲述了 1.HTML var coord; ...

  9. jQuery、layer实现弹出层的打开、关闭功能实例详解

    本文主要介绍了jQuery.layer实现弹出层的打开.关闭功能,需要的朋友可以参考下,希望能帮助到大家. 打开弹出层: 在list页面带入layer.js 在list页面点击时,弹出form弹出层, ...

  10. 大型游戏案例UI开发总结_1

    Canvas(画布)中选择Render Mode----Screen Space Camera,为了在摄像机和UI画布之间放置3D物体. Camera中的Projection选择Orthographi ...