CSS常用选择器的认识
---恢复内容开始---
前言:在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常用选择器的认识的更多相关文章
- CSS常用选择器
关于CSS常用选择器: 1.ID选择器 关于ID选择器具有唯一性,在文档流中,ID是唯一的,在低版本的浏览器中,允许出现不适唯一ID的情况,而在高版本的浏览器中,出现ID不唯一的情况浏览器会出现的报错 ...
- CSS常用选择器名
一.页面结构划分 box 盒子wrap 包裹container 容器 header 头部main 主要区域footer 底部 content 内容区域banner 横幅广告区域menu 菜单 二.模块 ...
- 【WEB前端】CSS常用选择器
1.1 标签选择器 就是用标签名来当做选择器. 1) 所有标签都能够当做选择器,比如body.h1.dl.ul.span等等 2) 不管这个标签藏的多深,都能够被选择上. 3) 选择的是所有的,而不是 ...
- css常用选择器选择器
tap选择器 ulclass选择器 .id选择器 #后代选择器 a b子代选择器 a>b兄弟选择器 a + b 以a为参考给b加样式属性选择器 input [type="text&qu ...
- 学习css常用基本层级伪类属性选择器
常见的css选择器包含:常用选择器.基本选择器.层级选择器.伪类选择器.属性选择器,其中常用选择器分为:1.html选择符*{}//给页面上所有的标签设置模式:2.类选择符.hcls{}//给clas ...
- 23----2013.07.01---Div和Span区别,Css常用属性,选择器,使用css的方式,脱离文档流,div+css布局,盒子模型,框架,js基本介绍
01 复习内容 复习之前的知识点 02演示VS创建元素 03div和span区别 通过display属性进行DIV与Span之间的转换.div->span 设置display:inline ...
- CSS选择器详解(一)常用选择器
目录 类型选择器 类选择器 ID选择器 伪类 伪元素 类型选择器 通过类型选择器可以选择某一类型的html标签,并对其使用样式. 语法: selector {property1: value; pro ...
- HTML&CSS基础-常用选择器
HTML&CSS基础-常用选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html> & ...
- 前端面试之CSS常用的选择器!
前端面试之CSS常用的选择器! 标签选择器 <style> /* <!-- 标签选择器 :写上标签名 -->*/ p { color: green; } div { color ...
随机推荐
- config parser 模块
config parser —— 用于解析配置文件的模块 该模块的作用: 就是使用模块中的 RawConfigParser(). ConfigParser(). SafeConfigParser() ...
- codeforces1096G Lucky Tickets
题目链接:https://codeforces.com/problemset/problem/1096/G 大意:给出\(k\)个数码\(d_1,d_2,\cdots,d_k\),构造一个由这\(k\ ...
- 【XSY1551】往事 广义后缀数组 线段树合并
题目大意 给你一颗trie树,令\(s_i\)为点\(i\)到根的路径上的字符组成的字符串.求\(max_{u\neq v}(LCP(s_u,s_v)+LCS(s_u,s_v))\) \(LCP=\) ...
- Django media 配置
Django media 配置 settings.py 配置 配置 media 的路径, 以及连接到主路径 还要添加一个 上下文管理 TEMPLATES = [ { 'BACKEND': 'dja ...
- C# 成员默认访问权限(public、private、protected、internal)
C# 成员默认访问权限(public.private.protected.internal) 来源 https://www.cnblogs.com/yezongjie/p/20181121Access ...
- 【BZOJ5285】[HNOI2018]寻宝游戏(神仙题)
[BZOJ5285][HNOI2018]寻宝游戏(神仙题) 题面 BZOJ 洛谷 题解 既然是二进制按位的运算,显然按位考虑. 发现这样一个关系,如果是\(or\)的话,只要\(or\ 1\),那么无 ...
- 【Luogu4916】魔力环(Burnside引理,组合计数)
考虑\(Burside\)引理,设\(f(x)\)表示置换拆成循环的个数为\(x\)时的答案,那么最终的结果就是\(\displaystyle \frac{\sum_{i=1}^n f(gcd(i,n ...
- [NOI2015]寿司晚宴(状压dp)
为了庆祝NOI的成功开幕,主办方为大家准备了一场寿司晚宴.小G和小W作为参加NOI的选手,也被邀请参加了寿司晚宴. 在晚宴上,主办方为大家提供了n−1种不同的寿司,编号1,2,3,⋯,n-1,其中第种 ...
- 牛客练习赛40 A 小D的剧场 (思维dp)
链接:https://ac.nowcoder.com/acm/contest/369/A 题目描述 若你摘得小的星星 你将得到小的幸福 若你摘得大的星星 你将得到大的财富 若两者都能摘得 你将得到 ...
- TCP的三次握手和四次挥手图解
1. TCP建立连接的三次握手 (1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确 ...