首页
直播
壁纸
免责声明
更多
统计
关于
Search
1
一款自动化渗透工具包 TscanPlus
225 阅读
2
获取一张美国虚拟信用卡
223 阅读
3
JS Document.evaluate()的使用
199 阅读
4
Git冲突:Please commit your changes or stash them before you merge
176 阅读
5
Python 31条 pip 命令全解析
164 阅读
默认分类
操作系统
Linux
管理面板
实用工具
开发语言
PHP
Web
python
typecho
ThinkPHP
layui
爬虫
文章分享
登录
Search
标签搜索
python
php
web
linux
Git
js
requests
自动化
宝塔
thinkphp
Centos
adb
html
typecho
layui
jquery
ubuntu
multipass
虚拟机
thikphp
YiYun
累计撰写
54
篇文章
累计收到
21
条评论
首页
栏目
默认分类
操作系统
Linux
管理面板
实用工具
开发语言
PHP
Web
python
typecho
ThinkPHP
layui
爬虫
文章分享
页面
直播
壁纸
免责声明
统计
关于
搜索到
1
篇与
的结果
2024-04-18
css选择器备忘录
{mtitle title="目录信息"/}啥是CSS选择器通用选择器 - *元素选择器 - element类名选择器 - .classID 选择器 - #id多选择器 - .class.class-2逗号组合 - .class, .class-2后代选择器 - .class .class-2相邻兄弟选择器 - .class + .class-2子选择器 - .class > .class-2兄弟选择器 - .class ~ .class-2脑残猫头鹰选择器 - + 属性选择器 - []链接伪类选择器input相关第N个孩子指定类型的第N个孩子伪类选择器伪元素0. 啥是CSS选择器CSS选择器 是用于选择 HTML 元素并为其应用样式的一种机制。选择器允许我们根据元素的 类型 、 属性 、 位置 以及其他特征来选择要样式化的元素,从而实现对网页样式的精确控制。以下是一些常见的 CSS 选择器及其用途:「元素选择器(Element Selector)」 :选择指定类型的 HTML 元素。例如, p 选择所有段落元素。「类选择器(Class Selector)」 :选择具有指定类名的元素。以点号( . )开头,后跟类名。例如, .button 选择所有类名为 button 的元素。「ID 选择器(ID Selector)」 :选择具有指定 ID 的元素。以井号( # )开头,后跟 ID 名称。例如, #header 选择 ID 为 header 的元素。「后代选择器(Descendant Selector)」 :选择指定元素的后代元素。使用 空格 分隔两个选择器,其中第一个选择器表示 父元素第二个选择器表示 后代元素例如, div p 选择所有 <div> 元素内部的所有段落 <p> 元素。「相邻兄弟选择器(Adjacent Sibling Selector)」 :选择紧接在另一个元素后面的元素。使用加号( + )符号连接两个选择器,其中第一个选择器表示 第一个元素第二个选择器表示其 紧邻的兄弟元素例如, h2 + p 选择所有紧接在 <h2> 元素后面的 <p> 元素。「通用选择器(Universal Selector)」 :选择页面中的 「所有元素」 。使用星号( * )表示。例如, * 选择页面中的所有元素。除了这些基本的选择器外,CSS 还提供了许多其他类型的选择器,如 伪类选择器 (例如 :hover 、 :active )、 伪元素选择器 (例如 ::before 、 ::after )、 属性选择器 (例如 [type="text"] )等,可以根据具体的需求选择合适的选择器来对页面元素进行样式化。{dotted startColor="#ff6c6c" endColor="#1989fa"/}1. 通用选择器 - *CSS的 通用选择器 是一个星号( * ),它匹配文档中的 「任何元素」 。使用通用选择器,我们可以选择页面上的 「所有元素」 ,并为它们应用相同的样式。例如,如果我们想为页面上的所有元素设置相同的字体样式,我们可以使用通用选择器来实现。{callout color="#2bff00"}但要注意,过度使用通用选择器可能会导致 「性能问题」 ,因为它会匹配页面上的所有元素,包括嵌套元素,这可能会增加浏览器的渲染负担。因此,建议在必要时谨慎使用通用选择器。{/callout}{dotted startColor="#ff6c6c" endColor="#1989fa"/}2. 元素选择器 - element元素选择器 是 CSS 中最简单的选择器之一,它通过指定 HTML 元素的名称来选择元素。例如,要选择所有段落元素 <p> ,我们可以使用以下选择器:p { /* CSS 样式 */ }这将选择页面中的所有段落元素,并应用所指定的 CSS 样式。{dotted startColor="#ff6c6c" endColor="#1989fa"/}3. 类名选择器 - .class类选择器 用于选择具有特定类名的 HTML 元素。类选择器以点号( . )开头,后跟类名。例如,如果我们有一个类名为 button 的按钮元素,我们可以使用类选择器来选择它:.button { /* CSS 样式 */ }这将选择页面中所有具有类名 button 的元素,并应用所指定的 CSS 样式。类选择器使我们可以为页面中的 「多个元素定义相同的样式」 ,而不必重复定义。此外,一个元素可以同时具有多个类,这样就可以轻松地将多个样式应用于同一个元素。{dotted startColor="#ff6c6c" endColor="#1989fa"/}4. ID 选择器 - #idID 选择器 是 CSS 中用于选择具有特定 ID 属性的 HTML 元素的选择器。ID 选择器以井号( # )开头,后跟 ID 名称。例如,如果我们有一个 ID 为 my-id的标题元素,我们可以使用 ID 选择器来选择它:#my-id { /* CSS 样式 */ }这将选择页面中具有 ID 名称为 my-id 的元素,并应用所指定的 CSS 样式。 「与类选择器不同,ID 选择器应该是唯一的」 ,因为 HTML 页面中每个元素的 ID 必须是唯一的。ID 选择器通常用于 「为特定元素应用唯一的样式」 。{dotted startColor="#ff6c6c" endColor="#1989fa"/}5. 多选择器 - .class.class-2.class.class-2 表示连接两个或更多类或ID来选择具有所有指定类/ID的元素:这段CSS代码的意思是选择具有 .my-class 和 .special 两个类的元素,并设置对应的背景色。{dotted startColor="#ff6c6c" endColor="#1989fa"/}6. 逗号组合 - .class, .class-2使用 逗号分隔 多个选择器声明。这样可以轻松地 「将相同的样式应用于多个选择器声明」 ;{dotted startColor="#ff6c6c" endColor="#1989fa"/}7. 后代选择器 - .class .class-2后代选择器 用于 「选择特定元素的后代元素」 。后代选择器使用 「空格分隔两个选择器」 ,其中第一个选择器表示 父元素第二个选择器表示 后代元素例如,如果我们想选择所有 <div> 元素内部的所有段落 <p>,我们可以使用后代选择器:div p { /* CSS 样式 */ }这将选择所有在 <div> 元素内部的 <p>元素,并应用所指定的 CSS 样式。后代选择器允许我们更精确地定位特定元素,而不受页面结构的限制。{dotted startColor="#ff6c6c" endColor="#1989fa"/}8. 相邻兄弟选择器 - .class + .class-2相邻兄弟选择器 它用于选择 「紧接」 在另一个元素后面的元素。相邻兄弟选择器使用加号( + )符号来连接两个选择器,其中第一个选择器表示 第一个元素第二个选择器表示 紧跟在其后的兄弟元素例如,如果我们想选择所有紧跟在 <h2> 元素后面的段落 <p> 元素,我们可以使用相邻兄弟选择器:h2 + p { /* CSS 样式 */ }这将选择紧接在 <h2> 元素后面的 <p> 元素,并应用所指定的 CSS 样式。相邻兄弟选择器允许我们 「根据元素之间的特定关系来选择元素」,从而使得样式的应用更加精确和有针对性。{dotted startColor="#ff6c6c" endColor="#1989fa"/}9. 子选择器 - .class > .class-2子选择器 用于选择特定元素的 「直接子元素」 。子选择器使用大于号( > )符号来连接两个选择器,其中第一个选择器表示 父元素第二个选择器表示其 直接子元素例如,如果我们想选择所有 <ul> 元素下的直接子元素 <li> ,我们可以使用子选择器:ul > li { /* CSS 样式 */ }这将选择所有直接位于 <ul> 元素内部的 <li> 元素,并应用所指定的 CSS 样式。子选择器 「只会选择指定元素的直接子元素,而不会选择嵌套在更深层次的子元素」 。这使得子选择器非常有用,因为它可以帮助我们更精确地定位特定层次结构的元素,并应用相应的样式。{dotted startColor="#ff6c6c" endColor="#1989fa"/}10. 兄弟选择器 - .class ~ .class-2兄弟选择器 用于 「选择与指定元素具有相同父元素且位于其后面的所有兄弟元素」 。一般兄弟选择器使用波浪号( ~ )符号来连接两个选择器,其中第一个选择器表示 基准元素第二个选择器表示 它的兄弟元素例如,如果我们想选择所有与 <h2> 元素具有相同父元素且位于其后面的 <p> 元素,我们可以使用一般兄弟选择器:h2 ~ p { /* CSS 样式 */ }这将选择所有与 <h2> 元素具有相同父元素且位于其后面的 <p> 元素,并应用所指定的 CSS 样式。{callout color="#2bff00"} 兄弟选择器 允许我们选择与指定元素具有相同父元素且位于其后面的所有兄弟元素,而不仅仅是直接的兄弟元素。{/callout}{dotted startColor="#ff6c6c" endColor="#1989fa"/}11. 脑残猫头鹰选择器 - + 脑残猫头鹰选择器 用来描述一种特定的 CSS 模式。它涉及选择多个元素并为它们应用共享样式,从而在网页的各个组件或部分中创建一致的视觉设计。术语 脑残 指的是通用选择器( * )与相邻兄弟选择器( + )结合使用的情况。 猫头鹰 可能指的是 CSS 选择器的形态类似于猫头鹰的头部和眼睛。以下是“脑残猫头鹰”选择器模式的示例:* + * { margin-top: 1.5em; }这个 CSS 规则选择了在另一个元素之后出现的任何元素(除了容器中的第一个元素),并在顶部应用了一定的边距,有效地使元素均匀地间隔开来。这种模式特别适用于在为 「容器内的元素添加间距,但第一个元素没有前置兄弟元素」 。当然,我们也可以使用 :not(:first-child) 来达到相同的效果。{dotted startColor="#ff6c6c" endColor="#1989fa"/}12. 属性选择器属性选择器 它允许我们根据元素的属性及其属性值来选择元素,并为其应用样式。属性选择器使用方括号( [])表示,内部包含属性名和可选的属性值。存在性属性选择器选择具有指定属性的元素,不论其属性值是什么。[data-text] { /* CSS 样式 */ }选择所有具有 data-text 属性的元素,并为其应用样式。这个选择器 「不关心属性的值是什么,只要有这个属性就会被选中」值属性选择器选择具有指定属性和特定值的元素。[data-text="hello"] { /* CSS 样式 */ }选择所有 data-text 属性的值为 hello 的元素,并为其应用样式。{callout color="#2bff00"}只有属性值为 hello 的元素才会被选中。{/callout}部分值属性选择器选择具有指定属性,并且属性值包含特定值的元素。[title*="saur"] { /* CSS 样式 */ }选择所有 title 属性值中包含 saur子字符串 的元素,并为其应用样式。{callout color="#2bff00"}只要属性值包含 saur ,无论是在开头、中间还是结尾,都会被选中。{/callout}起始值属性选择器选择具有指定属性,且属性值以特定值开头的元素。a[href^="https://"] { /* CSS 样式 */ }选择所有 href 属性值以 https:// 开头的 <a> 元素,并为其应用样式。{callout color="#2bff00"}只有链接以 https:// 开头的 <a> 元素才会被选中。{/callout}结束值属性选择器选择具有指定属性,且属性值以特定值结尾的元素。[src$=".png"] { /* CSS 样式 */ }选择所有 src 属性值以 .png 结尾的元素,并为其应用样式。{callout color="#2bff00"}只有图片路径以 .png 结尾的元素才会被选中。{/callout}包含值属性选择器选择具有指定属性,且属性值包含特定值的元素,且值之间以空格分隔。[class~="active"] { /* CSS 样式 */ }选择所有具有包含 active 的类名的元素,并为其应用样式。{callout color="#2bff00"}这个选择器将选中所有具有 active 类的元素,无论它们的类名是 active 还是 some-active-class 等。{/callout}{dotted startColor="#ff6c6c" endColor="#1989fa"/}13. link伪类选择器以下四个伪类用于选择各种状态下的 link 等元素。这四个伪类通常与链接一起使用,但是 :active 对于 button 也很有用,而 :hover 可以用于所有类型的元素::link 选择未访问的 link 。它允许我们为用户尚未点击的超链接设置样式。:visited 选择用户已经访问过的 link 。这个伪类允许我们为以前点击过的超链接应用样式。:hover 当用户的指针(例如鼠标光标)悬停在元素(通常是链接)上时,选择这些元素。:active 选择在它们被激活时的元素(通常是链接或按钮),例如当用户点击它们时。{dotted startColor="#ff6c6c" endColor="#1989fa"/}14. input相关在前端项目中, input 有很大的用处。我们来看 MDN 关于 input 的介绍。所以,和 input 相关的选择器也很多。{callout color="#2bff00"}元素聚焦 - :focus{/callout} :focus 伪类选择器表示获得焦点的元素(如表单输入)。当用户点击或轻触一个元素或使用键盘的 Tab 键选择它时,它会被触发。元素选中 - :checked{/callout}:checked 伪类选择器用于选择当前被选中/勾选的 单选按钮 、 复选框 或选择元素中的选项。input[type='checkbox'] { all: unset; -webkit-appearance: none; appearance: none; margin: 0; } input[type='checkbox']:checked + label { background: mediumseagreen; } input[type='checkbox']:focus + label { box-shadow: 0 0 0 2px yellow; }在上面的示例中,我使用 appearance: none 来移除复选框输入框的默认样式{callout color="#2bff00"}元素禁用 - :disabled{/callout}:disabled 伪类匹配 「禁用」 的表单元素,例如 button 或 input {callout color="#2bff00"}元素可用 - :enabled{/callout}:enabled 伪类匹配可以交互并接收输入的表单元素{callout color="#2bff00"}元素验证 - :valid{/callout} :valid 伪类用于定位具有内容符合其属性规定要求(如 pattern 、 type 等)的输入元素:{callout color="#2bff00"}元素验证- :invalid{/callout} :invalid 伪类用于定位内容不符合要求的输入元素:{callout color="#2bff00"}元素必填 - :required{/callout} :required 伪类用于定位具有 required 属性的输入元素,表明在提交表单之前必须填写它们:{callout color="#2bff00"}元素可选 - :optional{/callout} :optional 伪类用于定位没有 required 属性的输入元素,表示它们不是必填项:{dotted startColor="#ff6c6c" endColor="#1989fa"/}15. 第N个孩子{callout color="#2bff00"}第一个孩子 - :first-child{/callout}:first-child 伪类用于定位其 「父元素内的第一个子元素」 :{callout color="#2bff00"}最后一个孩子 - last-child{/callout}:last-child 伪类用于定位其父元素内的最后一个子元素:{callout color="#2bff00"}第N个孩子 - :nth-child{/callout}:nth-child 伪类根据元素在其父元素中的位置进行选择,允许进行各种各样的选择。:nth-child 还可以让我们按模式选择元素::nth-child(odd) 或 :nth-child(2n+1) 选择 「每个奇数位置」 的子元素:nth-child(even) 或 :nth-child(2n) 选择 「每个偶数位置」 的子元素公式中的 n 就像一个计数器,让我们可以在重复循环中选择元素。{callout color="#2bff00"}第N个孩子(倒数) - :nth-last-child{/callout}:nth-last-child 伪类类似于 :nth-child ,但它是从 「最后一个子元素开始向后计数」 的{callout color="#2bff00"}元素的唯一子元素 - :only-child{/callout}如果某个元素是其父元素的 「唯一子元素」 ,则 :only-child 伪类将其作为目标元素:{dotted startColor="#ff6c6c" endColor="#1989fa"/}16. 指定类型的第N个孩子{callout color="#2bff00"}类型的第一个元素 - :first-of-type{/callout}:first-of-type 伪类的目标是其父级中 「该类型的第一个元素」 :{callout color="#2bff00"}类型的最后一个元素 - :last-of-type{/callout}:last-of-type 伪类的目标是其父级中 「该类型的最后一个元素」 {callout color="#2bff00"}类型的第N个元素 - :nth-of-type{/callout}:nth-of-type 伪类根据元素的类型和兄弟元素中的位置来匹配元素{callout color="#2bff00"}类型的第N个元素(向后计数) - :nth-last-of-type{/callout}:nth-last-of-type 伪类根据元素的类型和兄弟元素中的位置来匹配元素,但从末尾开始计数{callout color="#2bff00"}其类型的唯一元素 - :only-of-type{/callout}:only-of-type 伪类的目标元素是其兄弟元素中该类型的唯一元素:{dotted startColor="#ff6c6c" endColor="#1989fa"/}17. 伪类选择器{callout color="#2bff00"}目标元素选择器- .target{/callout}:target 伪类选择具有与 URL 片段匹配的 ID 属性的元素(例如: https://example.com/#fragment )。 :target 经常用于为直接链接到的页面部分设置样式,通常 「与页面内链接一起使用」 。{callout color="#2bff00"}否定伪类 - .not(){/callout}:not()函数伪类 允许我们定位与指定选择器或条件不匹配的元素。它本质上是一个 「过滤器」 :{callout color="#2bff00"}父选择器 - :has(){/callout}:has()函数伪类 允许在元素包含某个元素或另一个选择器时对其进行样式设置:{callout color="#2bff00"}其他伪类{/callout}:root :选择文档中最高级别的父元素,通常是 HTML 文档中的 <html> 元素。用于定义 CSS 变量,这些变量将对页面内所有元素可用。:is() :匹配可以是多个选择器之一的元素,使得长选择器列表更简洁易读。例如, :is(h1, h2, h3) 可以匹配这三个标题元素中的任何一个。:where() :类似于 :is() ,但允许根据条件选择元素,而不影响选择器的特异性。:default :匹配设置为其默认选择状态的 UI 元素(例如单选按钮或复选框)。:empty :选择没有子元素的元素(包括文本节点)。:fullscreen :选择当前以全屏模式显示的元素。:in-range :匹配值在指定范围内的表单元素(使用 min 和 max 属性)。 :out-of-range :匹配值在指定范围之外的表单元素。:indeterminate :选择状态不确定的表单元素,例如既不选中也不取消选中的复选框(通常在树形视图结构中看到)。:read-only :匹配由于 readonly 属性而无法由用户编辑的表单元素。:read-write :选择用户可以编辑的表单元素,意味着它们不是只读的。:lang() :根据其语言属性匹配元素。例如, :lang(en) 选择用英语定义的元素。{dotted startColor="#ff6c6c" endColor="#1989fa"/}18. 伪元素{callout color="#2bff00"}第一个子伪元素 - ::before{/callout}::before 伪元素用于在元素内容之前插入内容。它可用于添加装饰内容、图标或其他不需要在实际 DOM 中的元素:{callout color="#2bff00"}最后一个子伪元素 - ::after{/callout}::after 伪元素与 ::before 类似,用于在元素内容之后插入内容:{callout color="#2bff00"}首字母伪元素- ::first-letter{/callout}::first-letter 伪元素用于设置块级元素的 「第一个字母的样式」 ,允许使用首字下沉等设计元素:{callout color="#2bff00"}首行伪元素 - ::first-line{/callout}::first-line 伪元素用于设置块级元素第一行的样式。这允许印刷效果可以根据包含元素的大小和字体大小动态调整:{callout color="#2bff00"}文本输入占位符 - ::placeholder{/callout}::placeholder 伪元素用于设置表单字段(如 <input> 和 <textarea> )的占位符文本的样式:{callout color="#2bff00"}样式突出显示框 - ::selection{/callout}::selection 伪元素用于设置元素中已突出显示或由用户选择的部分的样式。例如,当用户单击并拖动以选择文本时, ::selection 伪元素可用于修改该选择的背景颜色、文本颜色和其他样式:{callout color="#2bff00"}列表标记伪元素 - ::marker{/callout}::marker 伪元素用于设置列表项中标记框的样式,列表项通常包含项目符号(对于无序列表)或数字/字母(对于有序列表)。在引入 ::marker 伪元素之前,自定义这些标记通常需要解决方法,但这个伪元素给了我们更多的控制权:{dotted startColor="#ff6c6c" endColor="#1989fa"/}原文出处:https://mp.weixin.qq.com/s/8Zhw-obLYrsPPXqkaqW5wA
2024年04月18日
104 阅读
0 评论
0 点赞