CSS基础巩固-基础-选择

article/2025/7/23 23:28:34

目录

CSS是如何工作的?

当浏览器遇到无法解析的CSS代码时

如何导入CSS样式?

改变元素的默认样式

选择

前缀符号(后面会具体介绍)

优先级

同时应用样式到多个类上

属性选择器

伪类

伪元素

关系选择器

后代选择器

子代选择器

邻接兄弟

通用兄弟


注:本文以学习 Web 开发 | MDN为基础

CSS是如何工作的?

不同的浏览器引擎会有不同的方式,但有一些步骤是基本都会出现:

1.浏览器引擎载入HTML文件

2.将HTML转为DOM(就是我在index.html文章里面说的对象树

3.接下来,浏览器会拉取HTML相关的大部分资源,比如嵌入到页面的图片、视频、CSS样式等等,JS则会在稍后处理

4.在浏览器拉取到CSS后会进行解析,根据选择器的不同类型(比如 element、class、id等等)把他们分到不同的“桶”中/浏览器基于它找到的不同的选择器,将不同的规则(基于选择器的类型,比如元素选择器、类选择器、id选择器等)应用到对应的DOM节点中,并添加节点依赖的样式(这个步骤称之为 渲染树 )

5.上述规则应用于渲染树之后,渲染树会依照应该出现的结构进行布局

6.着色:网页在屏幕上显示

(CSS选择器:用于选中HTML元素并对其应用样式的一种语法规则;JS中也有用于选择页面元素的选择器)

对于DOM的理解会很大程度帮助你设计、调试和维护你的CSS,因为DOM是你的CSS样式和文件内容的结合。当你使用浏览器F12调试的时候你需要操作DOM来查看使用了哪些规则

比如一个HTML文件是

<p>Let's use:<span>Cascading</span><span>Style</span><span>Sheets</span>
</p>

那么他的DOM是

P
├─ "Let's use:"
├─ SPAN
|  └─ "Cascading"
├─ SPAN
|  └─ "Style"
└─ SPAN└─ "Sheets"

在浏览器创造完DOM后,会解析CSS,可以看到唯一的选择器就是span元素选择器,

span {border: 1px solid black;background-color: lime;
}

当浏览器遇到无法解析的CSS代码时

什么都不会做,继续解析下一个CSS样式,也就是忽视错误部分

如何导入CSS样式?

和我在index里面说的一样:在开头通过 <link rel=" " href=" "> 来导入

样式化HTML元素

若要样式化一个文档中所有的段落,只需使用 选择器p 

比如HTML是

<h1>I am a level one heading</h1><p>This is a paragraph of text. In the text is a <span>span element</span>
and also a <a href="http://example.com">link</a>.</p><p>This is the second paragraph. It contains an <em>emphasized</em> element.</p><ul><li>Item one</li><li>Item two</li><li>Item <em>three</em></li>
</ul>

CSS是

p,
h1 {color: blue;
}p,
li {color: green;
}

得到

改变元素的默认样式

浏览器自带一个包含默认样式的样式表(比如标题会很大等等),如果我们对浏览器的默认样式不满意只需要选定那个元素,加一条CSS规则即可

想对一片区域内的元素应用样式

定义类 class

比如 <div class=" "> , <li class=" ">

选择

前缀符号(后面会具体介绍)

.                 类选择器(同一个类可以被多个元素使用,用于标识一组相似的元素)

#                ID选择器(一个页面只能有一个相同的ID)

无前缀        元素选择器

*                通用选择器

[ ]               属性选择器(比如 <div class="not box"> 会被 div[class~="box"] 选中,因为后面的选择器是匹配 class属性 中含有box单词的 div元素

:                伪类选择器

::                伪元素选择器

空格        后代选择器

>                子选择器

+                相邻兄弟选择器

~                通用兄弟选择器

优先级

!important声明 > 内联样式 > #ID > .类 > 元素 > *

同时应用样式到多个类上

逗号分隔

A,B{
}

属性选择器

[属性]                只要含有这个属性就匹配

[属性=“值"]        属性值等于值

[属性~="值"]        属性中包含某个词(空格分隔)

[属性|="值"]        属性以值开头或等于值

[属性^="值"]        属性以值开头

[属性$="值"]        属性值以“值”结尾

[属性*="值"]        属性值包含“值”(和~区别:不一定要空格分隔)

伪类

用于选择处于特定状态的现有元素

/* 状态伪类 */
a:hover { color: red; }           /* 鼠标悬停状态 */
input:focus { border: blue; }     /* 获得焦点状态 */
button:disabled { opacity: 0.5; } /* 禁用状态 *//* 结构伪类 */
li:first-child { font-weight: bold; }  /* 第一个子元素 */
tr:nth-child(even) { background: #f0f0f0; } /* 偶数行 *//* 内容伪类 */
p:empty { display: none; }        /* 空内容元素 */
div:not(.special) { color: black; } /* 排除特定类 */

伪元素

创建和样式化虚拟元素

伪元素并不会修改DOM,只是在渲染层面

/* 内容伪元素 */
.quote::before {content: """;font-size: 2em;color: #ccc;
}.quote::after {content: """;font-size: 2em;color: #ccc;
}/* 选择伪元素 */
p::first-line {font-weight: bold;color: blue;
}p::first-letter {font-size: 2em;float: left;
}/* 占位符伪元素 */
input::placeholder {color: #999;font-style: italic;
}

关系选择器

注意CSS解析是从右到左(在我的创业分析平台index.html 文章里面有样例)

后代选择器

空格

.box p {color: red;
}

子代选择器

子代关系选择器是个大于号(>),只会在选择器选中直接子元素的时候匹配。继承关系上更远的后代则不会匹配。例如,只选中作为<article>的直接子元素的<p>元素:

article > p

邻接兄弟

邻接兄弟选择器(+)用来选中恰好处于另一个在继承关系上同级的元素旁边的物件。例如,选中所有紧随<p>元素之后的<img>元素:

p + img

通用兄弟

如果你想选中一个元素的兄弟元素,即使它们不直接相邻,你还是可以使用通用兄弟关系选择器(~)。要选中所有的<p>元素后任何地方<img>元素,我们会这样做:

p ~ img


http://www.hkcw.cn/article/qpAIITxloo.shtml

相关文章

郑钦文被观众当面合唱日不落后害羞 法网8强创佳绩

在北京时间6月1日晚结束的法网女单1/8决赛中,中国选手郑钦文经过三盘苦战,以2-1战胜赛会19号种子萨姆索诺娃,首次闯入法网女单八强。比赛结束后,郑钦文来到场边给球迷签名。现场的中国球迷高声歌唱《日不落》为她庆祝。原本一脸疲惫的郑钦文被球迷的热情逗笑了,随后她也跟…

专家谈汽车行业价格战警钟 无序竞争无赢家

5月31日,中国汽车工业协会发布《关于维护公平竞争秩序 促进行业健康发展》的倡议。倡议提到,近年来我国新能源汽车产业快速发展,新能源汽车新车销售占比已经超过40%。行业整体运行呈现稳中向好态势,市场活力持续释放。然而,一段时间以来,行业盈利水平下降,以无序“价格战…

[创业之路-402]:企业战略管理案例分析-战略执行-关键任务

一、概述 BLM中关键任务概述 在BLM&#xff08;业务领先模型&#xff09;中&#xff0c;关键任务是战略执行环节的核心要素&#xff0c;是将战略意图转化为实际行动和业务成果的关键桥梁。它明确了组织在特定时期内需要聚焦完成的核心活动&#xff0c;这些活动直接关系到战略…

ck-editor5的研究 (3):初步使用 CKEditor5 的事件系统和API

前言 在上一篇文章中—— ck-editor5的研究&#xff08;2&#xff09;&#xff1a;对 CKEditor5 进行设计&#xff0c;并封装成一个可用的 vue 组件 &#xff0c;我已经把 CKEditor5 封装成了一个通用vue组件&#xff0c;并且成功在nuxt中运行&#xff0c;并具备一定的通用性&…

苏超联赛无锡观众离场不留一片垃圾 文明观赛获赞

南京奥体中心门口,几个年轻球迷正蹲在路边刷手机,手指都快把屏幕戳破了。苏超联赛的门票开售后十分钟内所有场次全部售罄,尤其是6月1日南京队主场对阵无锡队的比赛,黄牛票甚至炒到了原价的五倍。南京队更衣室里,25岁的孟振正在脚上缠绷带。这位身价75万的本土球星最近压力…

北京今天最高气温31℃,西部北部有分散性阵雨或雷阵雨 北风较大需防风

今天6月2日白天,北京天气由晴转多云,最高气温达到31℃。西部和北部地区可能出现分散性阵雨或雷阵雨。受冷空气影响,北京北风较强,阵风可达6至7级,市民需注意防风。责任编辑:zx0176

美官员:预计中美本周就关税问题会谈 双方表达谈判意愿

当地时间6月1日,白宫国家经济委员会主任凯文哈西特在美国广播公司《本周》节目中表示,预计中美将于本周就关税问题进行会谈。他提到双方都表达了谈判的意愿,并且每天都在沟通,试图推动此事取得进展。5月10日至11日,中美经贸高层在瑞士日内瓦举行会谈,双方同意在90天内降低…

SpringAI(GA):RAG下的ETL快速上手

原文链接&#xff1a;SpringAI(GA)&#xff1a;RAG下的ETL快速上手 教程说明 说明&#xff1a;本教程将采用2025年5月20日正式的GA版&#xff0c;给出如下内容 核心功能模块的快速上手教程核心功能模块的源码级解读Spring ai alibaba增强的快速上手教程 源码级解读 版本&a…

AI大模型赋能,aPaaS+iPaaS构建新一代数智化应用|爱分析报告

01 aPaaS和iPaaS成为企业用户关注重点 PaaS市场定义 根据Gartner的定义&#xff0c;PaaS&#xff08;Platform as a Service&#xff09;平台是应用基础架构&#xff08;中间件&#xff09;服务的广泛集合&#xff0c; 包含应用平台、集成、业务流程管理、数据服务和AI应用等…

性能优化 - 工具篇:基准测试 JMH

文章目录 Pre引言1. JMH 简介2. JMH 执行流程详解3. 关键注解详解3.1 Warmup3.2 Measurement3.3 BenchmarkMode3.4 OutputTimeUnit3.5 Fork3.6 Threads3.7 Group 与 GroupThreads3.8 State3.9 Setup 与 TearDown3.10 Param3.11 CompilerControl 4. 示例代码与分析4.1 关键点解读…

郑钦文淋雨一直走 从黑洞到彩虹的心情旅程

6月1日,郑钦文在法网女单1/8决赛中获胜。赛后她用张韶涵的《淋雨一直走》来形容自己的心情:“有时掉进黑洞,有时爬上彩虹。”谈及决胜盘前的调整和获胜关键,郑钦文表示第二盘第一局曾有40-0的领先优势,但未能把握住机会,反而让对手进入了状态。在丢掉第二盘后,她去卫生间…

印度拉拢蒙古能抄中国稀土的作业吗 绕不开的运输难题

印度在与巴基斯坦的冲突中失利后不久,便与蒙古国展开了联合军演。蒙古国空军成立100周年阅兵式上,仅有的两架米格-29战机飞过乌兰巴托上空。五天后,印度陆军特遣队跨越5000公里抵达这片草原,启动了一场被网友戏称为“蒙古出海军,印度出空军”的联合军演。5月31日,“游牧大…

斯瓦泰克2比1莱巴金娜 逆转晋级法网八强

6月1日,在法国网球公开赛女单第四轮比赛中,四届赛会冠军、5号种子斯瓦泰克以2-1(1-6、6-3、7-5)逆转战胜12号种子莱巴金娜,本赛季三次击败对手,并取得法网25连胜。斯瓦泰克在这场比赛中获得了430分和44万欧元的奖金。她连续六年闯入法网八强,这是她第11次跻身大满贯八强…

南京五台山体育场再现人浪 雨夜观赛创纪录

6月1日晚,江苏省城市足球联赛的一场焦点战在南京五台山体育场举行,对阵双方是南京队与无锡队。最终,南京队以1:0小胜无锡队,取得赛事两连胜,并将城市联赛排名提升至第三。比赛日下午5点不到,五台山体育场已经开始有序检票,球迷方阵先行进场布置助威横幅。由于比赛日一直…

Linux服务器 TensorFlow找不到GPU

记录一下这次长达两天的心累Debug&#xff1a;Could not find cuda drivers on your machine, GPU will not be used.&#xff0c;先说一下我的项目情况 使用VSCode ssh连接实验室服务器&#xff0c;无root权限&#xff0c;不能使用sudo指令&#xff0c;Linux系统&#xff0c;…

xdma 驱动测试与分析

目录 1. 简介 2. 基本测试 2.1 H2C 测试 2.1.1 MRRS 2.1.2 抓取 H2C 数据 2.1.3 数据位宽 2.1.4 数据对比 2.1.5 写入地址测试 2.1.6 带宽测试 2.1.6.1 x86_Gen2x4 2.1.6.2 x86_Gen3x4 2.1.6.3 x86_Gen3x8 2.1.6.4 ZCU102_Gen2x1 2.1.6.5 AGX_Gen3x4 2.1.7 带宽…

基因编辑首次临床救人,罕见病婴儿绝处逢生 医学奇迹搬进现实

得了绝症竟然能靠“改写基因”治好?2025年5月,患有罕见病CPS1的婴儿KJ通过基因编辑重获新生,这场医学奇迹直接把科幻片情节搬进现实。当科学家用“分子剪刀”剪断遗传病的枷锁,我们正站在改写生命规则的转折点——未来癌症、衰老甚至农作物都能被重新编码,但这把双刃剑也藏…

郎永淳儿子哥大双硕士家里蹲:360万换月薪8000,学历还值钱吗? 精英教育的困境

北京的五月,蝉鸣未起,但社交媒体上关于“前央视名嘴郎永淳儿子找不到工作”的话题已经沸沸扬扬。25岁的郎俣,顶着哥伦比亚大学经济统计学和哲学双硕士的光环回国一年,却以“家里蹲”的状态成了网友口中的“高配版躺平青年”。郎俣的故事像一部现实版《变形记》。14岁赴美留…

26岁女孩骨质疏松上热搜!竟然是因为这个习惯……很多人都有,快自查 过度防晒导致维生素D缺乏

随着天气逐渐变热,日晒也变得越来越强烈,很多人开始重视防晒。然而,最近有一则新闻引起了广泛关注:一名26岁的女孩因为长期全面防晒,竟然被确诊为骨质疏松。这让人不禁疑惑,防晒和骨质疏松之间到底有什么联系?过度防晒会导致人体缺乏维生素D。维生素D是一种脂溶性维生素…

“芒种不过午,三伏棉衣捂”,今年芒种在何时? 芒种三大特点解析

2025年6月5日17点57分将迎来芒种节气。这个节气在农事上具有重要意义,有“芒种芒种,连收带种”的说法,意味着北方忙着收麦子,南方忙着种稻子,全国进入“夏收、夏种、夏管”的忙碌模式。今年的芒种被认为不一般,有三个特点。首先是芒种在端午后。2025年的端午节是5月31日,…