开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情
CSS :focus-within
伪类选择器和IE8就开始支持的:focus
可以说是近亲,区别在于:focus
表示当前元素处于focus状态的时候干嘛,而:focus-within
表示当前元素或者当前元素的子元素处于focus状态的时候干嘛(选择一个包含具有:focus 的任何子元素的元素)。
举个栗子
form:focus {
background-color: beige;
}
表示仅仅当<form>
处于focus状态时候,background
变beige
。
form:focus-within {
background-color: beige;
}
表示<form>
元素自身,或者<form>
内部的子元素处于focus状态时候,background
变beige
。换句话说,子元素focus
,可以让任意父级元素样式发生变化。
可以根据子元素的状态来改变父元素的样,根据这个属性我们可以用这个属性来丰富我们的交互场景。
各个浏览器兼容性
兼容更新时间 【2022-12-06】