Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CSS的选择器

CSS的选择器

作者头像
Demo_Yang
发布于 2018-10-15 08:27:23
发布于 2018-10-15 08:27:23
99600
代码可运行
举报
文章被收录于专栏:yang0rangeyang0range
运行总次数:0
代码可运行
CSS基础选择器
标签选择器
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
就是用标签名来当做选择器。
1) 所有标签都能够当做选择器,比如body、h1、dl、ul、span等等
2) 不管这个标签藏的多深,都能够被选择上。
3) 选择的是所有的,而不是某一个。所以是共性,而不是特性。
id选择器
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#表示选择id
1       #lj1{
2           font-size: 60px;
3           font-weight: bold;
4           color:black;
5       }
1)任何的标签都可以有id,id的命名要以字母开头,可以有数字、下划线。大小写严格区别,也就是说mm和MM是两个不同的id。
2)同一个页面内id不能重复,即使不一样的标签,也不能是相同的id。
也就是说,如果有一个p的id叫做haha,这个页面内,其他所有的元素的id都不能叫做haha。
类选择器
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.就是类的符号。类的英语叫做class。
所谓的类,就是class属性,class属性和id非常相似,任何的标签都可以携带class属性。
class属性可以重复,比如,页面上可能有很多标签都有teshu这个类:
1   <h3>我是一个h3啊</h3>
2   <h3 class="teshu">我是一个h3啊</h3>
3   <h3>我是一个h3啊</h3>
4   <p>我是一个段落啊</p>
5   <p class="teshu">我是一个段落啊</p>
6   <p class="teshu">我是一个段落啊</p>
css里面用.来表示类:
1       .teshu{
2           color: red;
3       }

同一个标签,可能同时属于多个类,用空格隔开:
1<h3 class="teshu  zhongyao">我是一个h3啊</h3>
这样,这个h3就同时属于teshu类,也同时属于zhongyao类。

初学者常见的错误,就是写成了两个class1<h3 class="teshu" class="zhongyao">我是一个h3啊</h3>

所以要总结两条:
1class可以重复,也就是说,同一个页面上可能有多个标签同时属于某一个类;
2) 同一个标签可以同时携带多个类。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
正确的思路,就是用所谓“公共类”的思路,就是我们类就是提供“公共服务”,比如有绿、大、线,一旦携带这个类名,就有相应的样式变化:
1   <style type="text/css">
2       .lv{
3           color:green;
4       }
5       .da{
6           font-size: 60px;
7       }
8       .xian{
9           text-decoration: underline;
10      }
11  </style>
每个标签,就去选取自己想要的类:
1    <p class="lv da">段落1</p>
2   <p class="lv xian">段落2</p>
3   <p class="da xian">段落3</p>

也就是说:
1) 不要去试图用一个类名,把某个标签的所有样式写完。这个标签要多携带几个类,共同造成这个标签的样式。
2) 每一个类要尽可能小,有“公共”的概念,能够让更多的标签使用。

到底用id还是用class?
答案:尽可能的用class,除非极特殊的情况可以用id。
原因:id是js用的。也就是说,js要通过id属性得到标签,所以我们css层面尽量不用id,要不然js就很别扭。另一层面,我们会认为一个有id的元素,有动态效果。
CSS高级选择器
后代选择器
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1   <style type="text/css">
2       .div1 p{
3           color:red;
4       }
5   </style>

空格就表示后代,.div1 p 就是.div1的后代所有的p。
强调一下,选择的是后代,不一定是儿子。

比如:
1   <div class="div1">
2       <ul>
3           <li>
4               <p>段落</p>
5               <p>段落</p>
6               <p>段落</p>
7           </li>
8       </ul>
9   </div>
能够被下面的选择器选择上:
1       .div1 p{
2           color:red;
3       }
所以,看见这个选择器要知道是后代,而不是儿子。选择的是所有.div1“中的”p,就是后代p。

空格可以多次出现。
1       .div1 .li2 p{
2           color:red;
3       }
就是.div1里面的后代.li2里面的p。

后代选择器,就是一种平衡:共性、特性的平衡。当要把某一个部分的所有的什么,进行样式改变,就要想到后代选择器。

后代选择器,描述的是祖先结构。
交集选择器
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1h3.special{
2   color:red;
3}
选择的元素是同时满足两个条件:必须是h3标签,然后必须是special标签。
交集选择器没有空格。
所以有没有空格
1div.red
和
1div .red
不是一个意思。
并集选择器(分组选择器)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1h3,li{
2   color:red;
3}
用逗号就表示并集。
通配符*
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
*就表示所有元素。
1*{
2   color:red;
3}
效率不高,如果页面上的标签越多,效率越低,所以页面上不能出现这个选择器。
一些CSS3选择器
儿子选择器>

IE7开始兼容,IE6不兼容。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 div>p{
2   color:red;
3}
div的儿子p。和div的后代p的截然不同。
能够选择:
1   <div>
2       <p>我是div的儿子</p>
3   </div>
不能选择:
1   <div>
2       <ul>
3           <li>
4               <p>我是div的重孙子</p>
5           </li>
6       </ul>
7   </div>
序选择器

IE8开始兼容;IE6、7都不兼容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
选择第1个li:
1   <style type="text/css">
2       ul li:first-child{
3           color:red;
4       }
5   </style>

选择最后一个1i:
1       ul li:last-child{
2           color:blue;
3       }
由于浏览器的更新需要过程,所以现在如果公司还要求兼容IE67,那么就要自己写类名:
1   <ul>
2       <li class="first">项目</li>
3       <li>项目</li>
4       <li>项目</li>
5       <li>项目</li>
6       <li>项目</li>
7       <li>项目</li>
8       <li>项目</li>
9       <li>项目</li>
10      <li>项目</li>
11      <li class="last">项目</li>
12  </ul>
用类选择器来选择第一个或者最后一个:
1       ul li.first{
2           color:red;
3       }
4
5       ul li.last{
6           color:blue;
7       }
下一个兄弟选择器

IE7开始兼容,IE6不兼容。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
+表示选择下一个兄弟
1   <style type="text/css">
2       h3+p{
3           color:red;
4       }
5   </style>
选择上的是h3元素后面紧挨着的第一个兄弟。
1    <h3>我是一个标题</h3>
2   <p>我是一个段落</p>
3   <p>我是一个段落</p>
4   <p>我是一个段落</p>
5   <h3>我是一个标题</h3>
6   <p>我是一个段落</p>
7   <p>我是一个段落</p>
8   <p>我是一个段落</p>
9   <h3>我是一个标题</h3>
10  <p>我是一个段落</p>
11  <p>我是一个段落</p>
12  <p>我是一个段落</p>
13  <h3>我是一个标题</h3>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.03.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CSS基础——css 选择器
根据类名来选择标签,以 . 开头, 一个类选择器可应用于多个标签上,一个标签上也可以使用多个类选择器,多个类选择器需要使用空格分割,应用灵活,可复用,是css中应用最多的一种选择器。
落雨
2022/07/20
1.2K0
CSS的四种基本选择器和四种高级选择器[通俗易懂]
CSS选择器:就是指定CSS要作用的标签,那个标签的名称就是选择器。意为:选择哪个容器。
全栈程序员站长
2022/09/18
11.6K0
CSS的四种基本选择器和四种高级选择器[通俗易懂]
深入解析 CSS 选择器
CSS 选择器对 HTML 页面中的元素实现一对一,一对多或者多对一的控制,从而给指定元素添加样式。同时还要考虑一个元素被赋予多个样式时如何生效的问题,这个就和选择器优先级相关了。
政采云前端团队
2021/04/23
7370
深入解析 CSS 选择器
CSS复合选择器
CSS选择器分为 基础选择器 和 复合选择器 ,但是基础选择器不能满足我们实际开发中,快速高效的选择标签。
乐心湖
2020/07/31
1.1K0
CSS复合选择器
这30个CSS选择器,你必须熟记(上)
css的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色、布局、制作出漂亮的影音效果等等,我们只需要改几行代码,不需要借助任何软件,就能轻而易举的实现,感觉就像魔法师一般,几秒钟就能得到一个想要的效果,是不是很酷呢。
前端达人
2019/10/29
6460
这30个CSS选择器,你必须熟记(上)
CSS复合选择器
复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的,目的是为了可以选择更准确更精细的目标元素标签。
星辰_大海
2020/09/30
4760
全栈之前端 | 2.CSS3基础知识之选择器学习
在上一章节,作者针对CSS选择器做了一个简单介绍有那些选择器, 本章将表中的选择器进行一一实践展示。
全栈工程师修炼指南
2023/10/31
2580
全栈之前端 | 2.CSS3基础知识之选择器学习
【CSS】CSS 复合选择器 ③ ( 并集选择器 | 并集选择器与后代选择器示例 )
并集选择器语法 : 若干 基础选择器 可以写在一起 , 基础选择器之间使用 , 逗号隔开 ;
韩曙亮
2023/03/30
1.4K0
【CSS】CSS 复合选择器 ③ ( 并集选择器 | 并集选择器与后代选择器示例 )
CSS - 深入理解选择器的使用方式
可以选中所有class为student的元素,对于 <div class="student">软件工程1班</div>来说,效果如下图:
DevKevin
2024/07/12
1050
CSS - 深入理解选择器的使用方式
CSS基础(三):选择器
复合选择器, 由两个选择器直接构成,第一个必须是元素选择器,第二个必须是类选择器和ID选择器,这两个选择器之间不能有空格。
bear_fish
2018/09/20
5150
前端课程——CSS选择器
CSS 选择器的作用是按照 CSS 规则定位 HTML 页面的一个或多个元素。浏览器在解析 HTML 页面时,会根据 CSS 规则中的选择器定位 HTML 页面的元素,并为对应的元素设定样式。
Dreamy.TZK
2020/04/09
5200
【说站】CSS有哪些高级选择器
定义交集选择器的时候,两个选择器之间紧密相连。一般是以标签名开头,比如div.haha,再比如p.special。
很酷的站长
2022/11/24
4040
css3选择器篇
核心;唯一 (同一页面内), 标签命名规则: /4.1id的名称只能由字母/数字/下划线 a-z 0-9 _ 4.2id名称不能以数字开头 4.3id名称不能是HTML标签的名称 不能是a h1 img input …/ 在css中id标签的显示是:#。
贵哥的编程之路
2020/10/28
4970
CSS基础-引入方法,选择器,继承
    例子:<div style="background-color:red">行内式</div>
bear_fish
2018/09/19
7080
CSS
​ repeat-x x轴平铺 ​ repeat-y y轴平铺
用户9603238
2022/03/31
1K0
前端学习(9)~css学习(三):样式表和选择器
CSS:Cascading Style Sheet,层叠样式表。CSS的作用就是给HTML页面标签添加各种样式,定义网页的显示效果。简单一句话:CSS将网页内容和显示样式进行分离,提高了显示功能。
Vincent-yuan
2020/02/25
8220
前端学习(9)~css学习(三):样式表和选择器
CSS选择器详解
最近在做一些面试的工作,我经常会问的一个问题就是:CSS中有哪些选择器。我往往得到的答案就是id选择器啊、class选择器啊,再追问下去就没了,这让我很是意外! 看来这基础的东西,大家都说很重要,可真正能静下心来去看的并不多,更别说在项目中灵活使用了! 元素选择器 通配选择器 * { sRules } 选定文档所有的元素 /** 设置所有元素为红色 **/ * {   color: red; } <div>我是div</div> <p>我是p</p> 类型选择器 E { sRules } 选定指定的文
laixiangran
2018/04/11
2.9K0
01-老马jQuery教程-jQuery入口函数及选择器
前言 这套jQuery教程是老马专门为寒门子弟而录制,希望大家看到后能转发给更多的寒门子弟。视频都是免费,请参考课程地址:https://chuanke.baidu.com/s5508922.html
老马
2017/12/20
2.5K0
【前端基础篇】CSS基础速通万字介绍(上篇)
CSS(Cascading Style Sheet),层叠样式表, ⽤于控制⻚⾯的样式.
半截诗
2024/10/09
1340
【前端基础篇】CSS基础速通万字介绍(上篇)
【黑马程序员pink名师讲CSS】学好CSS有这一篇就够了(CSS笔记)
HTML作用单纯,只关注语义,比如< h1>是一级标题,< p>是一个段落,他不愿意去美化修饰,因为写起来麻烦,只能一行一行的修改。
MicroFrank
2023/01/16
2.4K0
相关推荐
CSS基础——css 选择器
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验