html代码
- css 超出文字省略
- js判断json为空
- JavaScript反转数组实用的4种方法
- JS检查数组中是否存在某个元素
- js反转数组
- img图片和a标签在同一行的css写法
- js正则校验是否字符串为纯中文
- js数组遍历、截取、删除、元素查询
- view、div水平横向排列
- js document 增加、删除、操作节点和子节点
- js判断JSON为空
- input数字类型去掉上下箭头
- css鼠标指针cursor
- js两个时间相减得出时分秒
- Math.random()随机数四舍五入
- 使用js去除字符串内所带有空格的三种方法
- var、let与const变量声明比较
- js字符串切割split
- append和appendChild比较
- js给button添加点击事件
- 原生AJAX、XMLHttpRequest发送post表单请求
- js给input框点击回车事件
- css伪类选择器
css伪类选择器
时间:2023-12-29
css存在大量伪类选择器,合理运用这些伪类选择器可以避免更多的js交互。注意:css伪类选择器的操作对象是dom中本身存在的元素,这点与伪元素如:befor、:after相反
一、常用结构性伪类选择器如下:
:nth-child(n) |
匹配属于其父元素的第 N 个子元素,不论元素的类型,如:nth-child(1)是父元素中的第1个子元素 |
:nth-last-child(n) |
语法跟:nth-child()类似,不同点是:nth-last-child()从最后一个子元素开始往前计数,如nth-last-child(1)是父元素中的最后1个子元素 |
:nth-of-type(n) |
根据子元素类型匹配其中的序列 |
:nth-last-of-type() |
根据子元素类型从最后匹配其中的序列,与:nth-of-type(n)正好相反 |
:first-child |
匹配父元素的第一个子元素的样式 |
:first-of-type |
匹配父元素的第一个选择器元素的样式,如p:fitst-of-type指定的是第一个子元素等同于 :nth-of-type(1) |
:last-child |
匹配父元素的最后一个子元素的样式 |
:last-of-type |
匹配父元素的最后一个选择器元素的样式,等同于 :nth-last-of-type(1) |
:only-child |
选择器必须是子元素,匹配在父元素的子元素中唯一的一个标签 |
:empty |
匹配不包含任何子元素的元素的样式 |
:has | 根据条件匹配 |
二、has
hash有两种应用
1、当父元素至少包含一条子元素或满足某个条件时,应用样式
2、当存在相邻元素时候,应用样式
.card:has(.card-image) {//1、当.card元素存在.card-image子元素时,则匹配成功 display: flex; align-items: center; form:has(input:focused) { //2、结合表单,当input获取焦点时候,则匹配成功 background-color: lightgrey; } .card h2:has(+ p) { }//3、当.card子元素h2后是否存在p元素,存在则匹配成功 |
三、更多
当然还有更多伪类选择器,如表单:required 状态的如:focus、:hover以及:active就不一一列举了