CSS构建基础(二)选择器

在CSS中,选择器用于定位我们想要样式化的网页上的HTML元素。有各种各样的CSS选择器可用,允许在选择要样式化的元素时实现细粒度的精度。在本文及其子文章中,我们将详细介绍不同的类型,了解它们是如何工作的。

1、什么是选择器?

CSS选择器是CSS规则的第一部分。它是一种元素和其他项的模式,它告诉浏览器应该选择哪些HTML元素,以便将规则中的CSS属性值应用于它们。被选择器选择的一个或多个元素被称为选择器的subject
在这里插入图片描述
在其他文章中,您可能遇到过一些不同的选择器,并了解到有一些选择器以不同的方式定位文档—例如,通过选择元素(如h1)或类(如.special)。

在CSS中,选择器在CSS选择器规范中定义;就像CSS的其他部分一样,它们需要得到浏览器的支持才能工作。您将遇到的大多数选择器都是在3级选择器规范和4级选择器规范中定义的,它们都是成熟的规范,因此您将发现浏览器对这些选择器的出色支持。

2、选择器列表

如果你有多个东西使用相同的CSS,那么单个选择器可以组合成一个选择器列表( selector list),这样规则就可以应用到所有的单个选择器上。例如,如果我对h1.special类使用相同的CSS,我可以将其写为两个单独的规则。

h1 {color: blue;
}.special {color: blue;
}

我还可以通过在它们之间添加逗号,将它们组合成一个选择器列表

h1, .special {color: blue;
}

逗号之前或之后都可以有空格。如果每个选择器都在新行上,您可能还会发现选择器更具可读性。

h1,
.special {color: blue;
}

当把选择器组合成列表时,如果任何选择器在语法上无效,则将忽略整个规则。

3、选择器的类型

选择器有几种不同的分组,了解您可能需要的选择器类型将帮助您找到适合工作的工具。在本文的子文章中,我们将更详细地研究不同的选择器组。

3.1 Type, class, and ID selectors

这一组包括针对HTML元素(如<h1>)的选择器

h1 {
}

它还包括针对类的选择器:

.box {
}

或ID:

#unique {
}

3.2 属性选择器

这组选择器为您提供了基于元素上某个属性的存在来选择元素的不同方法:

a[title] {
}

或者甚至根据存在的具有特定值的属性进行选择:

a[href="https://example.com"]
{
}

3.3 伪类和伪元素

这组选择器包括伪类(pseudo-classes),它们为元素的某些状态设置样式。例如:hover伪类只在鼠标指针悬停在一个元素上时才选择它:

a:hover {
}

它还包括伪元素(pseudo-elements),它们选择元素的特定部分而不是元素本身。例如,::first-line总是选择元素内文本的第一行(在下面的例子中是<p>),就好像在第一个格式化行周围加了<span>,然后再选择。

p::first-line {
}

3.4 组合选择器

最后一组选择器结合其他选择器,以定位文档中的元素。例如,下面的代码使用后代组合符(>)选择作为<article>元素的直接子元素的段落:

article > p {
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/70839.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浏览器跨域

相关问题 什么是跨域为什么会跨域为什么会有跨域的限制怎么解决跨域 回答关键点 CORS和同源策略 跨域问题的来源是浏览器为了请求安全而引入的基于同源策略的安全特性。当页面和请求的协议、主机名或端口不同时&#xff0c;浏览器判定两者不同源&#xff0c;即为跨域请求。需…

Springboot开发时,对前端的请求参数,后端用于接受的实体类有没有必要校验为null?

首先给出结论&#xff1a;不用校验为NULL,如果null,Springboot会直接抛异常而不是返回NUll。只需要对其中的属性判断是否null 问题代码如下&#xff1a; public R<Boolean> addzbsz (RequestBody RequestzbszAdd requestzbszAdd) {if ( requestzbszAddnull){return true…

PMP备考全攻略,看这一份就够了!

免费送备考资料。 Project Management Professional (PMP) - 项目管理专业人士,简称PMP。是项目管理专业人士资格认证由项目管理学会和 PMI 发起&#xff0c;严格评估管理项目人员知识技能是否具有高品质的资格认证考试。 简单来说&#xff0c;PMP是美国PMI发起的评估项目管理…

PyTorch 深度学习实践 第10讲刘二大人

总结&#xff1a; 1.输入通道个数 等于 卷积核通道个数 2.卷积核个数 等于 输出通道个数 1.单通道卷积 以单通道卷积为例&#xff0c;输入为&#xff08;1,5,5&#xff09;&#xff0c;分别表示1个通道&#xff0c;宽为5&#xff0c;高为5。假设卷积核大小为3x3&#xff0c…

在不同操作系统上如何安装符号表提取工具(eu-strip)

前言 C开发的小伙伴都知道符号表在调试和解决崩溃时扮演着非常重要的角色&#xff0c;那么如何提取和保存发布应用程序的符号表就变得非常重要。今天就来聊一下如何在不同的操作系统上使用eu-strip提取应用程序中的符号表信息。 正文 问题 如何在不同操作系统上安装符号表提…

定时任务实现方案总结

一、概述 定时任务的作用是在设定的时间和日期后自动执行任务&#xff0c;执行任务的周期既能是单次也能是周期性。 本文重点说明Timer、ScheduledThreadPoolExecutor、Spring Task、Quartz等几种定时任务技术方案。 二、Timer JDK自带的Timer是最古老的定时任务实现方式了。…

【Vue3-Vite】Vite配置--路径别名配置

路径别名配置 使用 代替 src Vite配置 // vite.config.ts import {defineConfig} from vite import vue from vitejs/plugin-vueimport path from pathexport default defineConfig({plugins: [vue()],resolve: {alias: {"": path.resolve("./src") // …

如何助力金融贷款企业实现精准营销获客

无论是哪个行业&#xff0c;吸引客户都是核心。 许多公司的线下渠道面临着许多障碍&#xff0c;以至于他们不得不采用在线客户获取方法。受影响最大的行业之一是贷款行业。如何获得准确的贷款客户资源&#xff1f;如何赢得客户已经成为企业的一大痛点。 过去&#xff0c;信贷…

adb命令大全

adb命令大全 参考 基本用法 命令语法 adb 命令的基本语法如下&#xff1a; adb [-d|-e|-s ] 如果只有一个设备/模拟器连接时&#xff0c;可以省略掉 [-d|-e|-s ] 这一部分&#xff0c;直接使用 adb 。 为命令指定目标设备 如果有多个设备/模拟器连接&#xff0c;则需要为…

博物馆网上展厅有哪些用途,如何搭建数字时代的文化宝库

引言&#xff1a; 博物馆一直以来都是保存、展示和传承人类文化遗产的地方。然而&#xff0c;随着数字时代的来临&#xff0c;博物馆也逐渐迎来了创新的变革。博物馆网上展厅&#xff0c;作为一种新型的文化传播方式&#xff0c;正逐渐崭露头角。 一.什么是博物馆网上展厅&…

【目标检测】理论篇(3)YOLOv5实现

Yolov5网络构架实现 import torch import torch.nn as nnclass SiLU(nn.Module):staticmethoddef forward(x):return x * torch.sigmoid(x)def autopad(k, pNone):if p is None:p k // 2 if isinstance(k, int) else [x // 2 for x in k] return pclass Focus(nn.Module):def …

《C++设计模式》——结构型

前言 结构模式可以让我们把很多小的东西通过结构模式组合起来成为一个打的结构&#xff0c;但是又不影响各自的独立性&#xff0c;尽可能减少各组件之间的耦合。 Adapter Class/Object(适配器&#xff09; Bridge(桥接&#xff09; Composite(组合) Decorator(装饰) 动态…

【5】openGL使用宏和函数进行错误检测

当我们编写openGL程序&#xff0c;没有报编译链接错误&#xff0c;但是运行结果是黑屏&#xff0c;这不是我们想要的。 openGL提供了glGetError 来检查错误&#xff0c;我们可以通过在运行时进行打断点查看glGetError返回值&#xff0c;得到的是一个十进制数&#xff0c;将其转…

C++(Liunx) 使用cut截 取出Ubuntu用户的家目录,要求:不能使用“:“作为分割.

使用cut截 取出Ubuntu用户的家目录&#xff0c;要求&#xff1a;不能使用":"作为分割

【C++技能树】多态解析

Halo&#xff0c;这里是Ppeua。平时主要更新C&#xff0c;数据结构算法&#xff0c;Linux与ROS…感兴趣就关注我bua&#xff01; 文章目录 0.多态的概念0.1 多态的定义 1. 重写2.Final与Override3.抽象类4.多态中的内存分布.4.1虚表存在哪里? 5.多态调用原理5.1 动态绑定与静…

进程管理与内存管理

谷歌官网 内存管理概览

《向量数据库指南》——AI原生向量数据库Milvus Cloud 2.3 Enhancement

Enhancement MMap 技术提升数据容量 MMap 是 Linux 内核提供的技术,可以将一块磁盘空间映射到内存,这样一来我们便可以通过将数据加载到本地磁盘再将磁盘 mmap 到内存的方案提升单机数据的容量,经过测试使用 MMap 技术后数据容量提升了 1 倍而性能下降在20% 以内,大大节约了…

sqlibs安装及复现

sqlibs安装 安装phpstudy后&#xff0c;到github上获取sqlibs源码 sqli-labs项目地址—Github获取&#xff1a;GitHub - Audi-1/sqli-labs: SQLI labs to test error based, Blind boolean based, Time based. 在phpstudy本地文件中的Apache目录中解压上方下载的源码。 将sq…

08.SCA-CNN

目录 前言泛读摘要IntroductionRelated Work 精读Spatial and Channel-wise Attention CNNOverviewSpatial AttentionChannel-wise AttentionChannel-SpatialSpatial-Channel ExperimentsDataset and Metric设置 评估Channel-wise Attention&#xff08;问题1&#xff09;评估M…

momentjs实现DatePicker时间禁用

momentjs是一个处理时间的js库&#xff0c;简洁易用。 浅析一下&#xff0c; momentjs 在vue中对DatePicker时间组件的禁用实践。 一&#xff0c;npm下载 npm install moment --save二&#xff0c;particles.json中 "dependencies": {"axios": "^…