热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

CSS的选择器有哪些分别怎么写,列举CSS有哪些种类的选择器并书写范例

分为:1.基础选择器:标签选择器、id选择器、类选择器、通配符选择器。2.高级选择器:后代选择器、交集选择器、并集选择器。1.1标签选择器

分为:1.基础选择器:标签选择器、id选择器、类选择器、通配符选择器。

2.高级选择器:后代选择器、交集选择器、并集选择器。

1.1 标签选择器:通过标签的名字来进行选择。方法:标签名 。选择范围:选中的是整个的HTML文件中的所有同名标签  例:

p{

color: red;

}

h2{

color: green;

}

注意:标签选择器的效果只与标签名相关,与它的嵌套多少层无关,嵌套再深也可以用标签选择器选中。

优点:可以通过一个标签选择器选中所有同名标签,可以清除默认显示样式、或者设置初始样式。

p{

color: red;

margin: 0;

}

缺点:标签选择器选择范围太广,没办法使用标签选择器只给其中部分标签添加特殊样式。

1.2 id选择器:通过标签上的id属性去选择标签。方法:#id属性值。选择范围:只有一个标签。

标签的id属性值命名规则:必须以英文字母开头,后面可以有字母、数字、下划线或横线,区分大小写。一个HTML文件中每个id都是唯一的。例:

这是一个段落标签

#para{

color: red;

}

缺点:不能用同一个id选择器去选中多个标签,如果多个标签具有相同的样式,使用id选择器必须给每个标签添加不同的id属性,通过每个id选择器选中后,需要重复书写相同的css代码。

#para{

color: red;

}

#para2{

color: red;

}

#para3{

color: red;

}

1.3 类选择器:通过标签上的class属性去选择标签。方法:.classname(name是给定义的名字)。选择范围:可以是任意多个,选中的是所有的class属性值相同的标签。

class属性值命名规则:必须以英文字母开头,后面可以有字母、数字、下划线或横线,区分大小写。class属性值可以重复,一个标签的class属性可以有多个属性值。

①不同的标签可以设置相同的class属性值,不限制标签类型,通过类选择器选中的就是所有的同名的标签。例:

.red{

color: red;

}

②一个标签上可以设置多个class属性值,通过每个class属性值得到类选择器都能选中这同一个标签,每个选择器后面的css样式属性都会加载到标签之上。例:

.red{

color: red;

}

.box{

width: 100px;

height: 100px;

background-color: skyblue;

}

1.4 通配符选择器:通过一个可以选中所有标签的符号选择标签。方法:* 。选择范围:选中的是包含body在内的所有的标签。

多使用通配符去选中所有标签,清除一些公共的默认样式。

*{

padding: 0;

margin: 0;

}

2.1后代选择器:又叫包含选择器,通过标签之间的嵌套关系或者包含关系进行标签选择。

方法:空格表示包含的意思,空格左右就是基础选择器,空格左边的选择器选中的标签必须包含空格右边选择器选中的标签,才叫做满足包含关系。例:

ul li p{

color: red;

}

后代选择器必须满足所有基础选择器的包含关系,一层不满足都不能选中标签。

后代选择器是通过不断缩小选择范围,最终选中的是一个小范围内的最后一个选择器规定的标签。例:

ul .big p{

font-size: 20px;

}

解释:选中的是ul标签内部后代中类名叫做big的标签后代中的p标签。

ul p{

color: blue;

}

解释:选中的是ul标签的后代中的所有p标签。

2.2 交集选择器:交集选择器是由基础选择器组成,选中的标签必须满足所有基础选择器限制条件。

方法:将基础选择器连写,中间不要加任何空格或符号。

选择范围:满足所有基础选择器的标签。

交集选择器一般由类选择器和标签选择器组成,标签选择器必须写在开头。例:

p.demo{

color: red;

}

交集选择器可以进行多个类名的连续交集。

p.demo.box{

color: red;

}

表示:选中的是p标签,而且必须同时具备demo和box的类名。

交集选择器可以作为后代选择器或者并集选择器的一部分。

.box1 p.ps1{

color: yellow;

}

解释:选中的是类名叫box1的后代中,既是p标签还有ps1的类名的标签。

2.3 并集选择器:是由前面六种选择器综合组成的。

添加相同样式的标签不能使用前面六种选择器的一种全部选中,可以将多个选择器进行并集书写。

写法:用逗号表示并集的意思,将选择器之间用逗号链接,最后一个选择器后面不要加逗号。

选择范围:是多个选择器选中的标签的集合。并集选择器更像是对相同样式进行的合并书写。

合并前:

.box1 .ps1{

color: red;

}

.box2 .ps2{

color: red;

}

合并后:

.box1 .ps1,.box2 .ps2{

color: red;

}

用途:

①给相同样式的标签的选择器进行合并书写。

②使用标签选择器的并集写法进行清除默认样式。

body,h1,h2,p,ul,ol,li,dl,dt,dd{

margin: 0;

padding: 0;

}



推荐阅读
  • 在编程实践中,正确管理和释放资源是非常重要的。本文将探讨 Python 中的 'with' 关键字及其背后的上下文管理器机制,以及它们如何帮助我们更安全、高效地管理资源。 ... [详细]
  • JavaScript 实现图片文件转Base64编码的方法
    本文详细介绍了如何使用JavaScript将用户通过文件输入控件选择的图片文件转换为Base64编码字符串,适用于Web前端开发中图片上传前的预处理。 ... [详细]
  • 本文详细介绍了进程、线程和协程的概念及其之间的区别与联系。进程是在内存中运行的独立实体,具有独立的地址空间和资源;线程是操作系统调度的基本单位,属于进程内部;协程则是用户态下的轻量级调度单元,性能更高。 ... [详细]
  • Python 日志记录模块详解
    日志记录机制是软件开发中不可或缺的一部分,它帮助开发者追踪和调试程序运行时的各种异常。Python 提供了内置的 logging 模块,使我们在代码中记录和管理日志信息变得更加方便。本文将详细介绍如何使用 Python 的 logging 模块。 ... [详细]
  • 树莓派4B:安装基础操作系统指南
    本文将详细介绍如何为树莓派4B安装基础操作系统,包括所需材料、镜像下载、镜像烧录以及更换国内源等步骤。 ... [详细]
  • c#  项目文件,C#viual studio使用方法
    一、项目文件1)Properties节点下主要存放的是当前程序集相关的信息,如版本号、标题等。双击”Properties“,打开如下项目属 ... [详细]
  • 2019-2020学年 20174325 叶竞蔚 《网络对抗技术》实验六:Metasploit基础应用
    本实验旨在掌握Metasploit框架的基本应用方法,重点学习三种常见的攻击方式及其实施思路。实验内容包括一次主动攻击(如MS08-067)、一次针对浏览器的攻击(如MS11-050)以及一次针对客户端的攻击(如Adobe漏洞利用)。此外,还包括成功应用一个辅助模块。 ... [详细]
  • HPE OEM Brocade 300 交换机无中断固件升级指南
    本文详细介绍了如何通过FTP方式对HPE OEM Brocade 300交换机进行无中断固件升级,确保网络服务的连续性。 ... [详细]
  • Ubuntu 环境下配置 LAMP 服务器
    本文详细介绍了如何在 Ubuntu 系统上安装和配置 LAMP(Linux、Apache、MySQL 和 PHP)服务器。包括 Apache 的安装、PHP 的配置以及 MySQL 数据库的设置,确保读者能够顺利搭建完整的 Web 开发环境。 ... [详细]
  • 1#include2#defineM1000103#defineRGregister4#defineinf0x3f3f3f3f5usingnamespacestd;6boolrev ... [详细]
  • 本文主要介绍如何在Mac操作系统中配置和安装Yii2的基础应用程序模板,同时提供解决常见安装问题的方法。对于高级或自定义应用模板的搭建,可参阅官方文档。 ... [详细]
  • SQL Server 存储过程实践任务(第二部分)
    本文档详细介绍了三个SQL Server存储过程的创建与使用方法,包括统计特定类型客房的入住人数、根据房间号查询客房详情以及删除特定类型的客房记录。 ... [详细]
  • 微信小程序开发指南:创建动态电影选座界面
    本文详细介绍如何在微信小程序中实现一个动态且可视化的电影选座组件,提高用户体验。通过合理的布局和交互设计,使用户能够轻松选择心仪的座位。 ... [详细]
  • 本文介绍了如何解决 ChinaASP.Upload 错误 '80040002',即必须添加版权信息的问题,并提供了详细的步骤和注意事项。 ... [详细]
  • VC++ 文件操作实践案例
    本文介绍如何在Visual C++ 6.0环境下,通过下载的VC源代码实现文件的基本读写操作,并解决常见的运行错误。 ... [详细]
author-avatar
勉情于你
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有