纯CSS怎么实现input获取焦点后,父元素边框颜色改变的问题

很🐕的一个问题只能使用css实现,input获取焦点,改变父元素的颜色;

试了很久都是只能改变input的背景颜色,百度调研了很久,都是说纯CSS实现不了,找到一篇长篇大论的文章,在我以为我快要接近答案的时候,末尾来了一句纯CSS实现不了,用JS实现去了。

心态炸了!!!能用JS,鬼用css啊。
 最后还是在MDN找见了解决方法,吹一波,🐂🍺。发泄完了,进入正题:

:focus-within
:focus-within 是一个CSS 伪类 ,表示一个元素获得焦点,或该元素的后代元素获得焦点。换句话说,元素自身或者它的某个后代匹配 :focus 伪类。(shadow DOM 树 (en-US)中的后代也包括在内)

/* 当 <div> 的某个后代获得焦点时,匹配 <div> */
div:focus-within {
  background: cyan;
}
Copy to Clipboard

该选择器非常实用。举个通俗的例子:表单中的某个 <input> 字段获得焦点时,整个表单的 <form> 元素都可被高亮。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    #a{
      width: 200px;
      height: 200px;
      background-color: black;
    }
    #a:focus-within{
      background-color: antiquewhite;
    }
  </style>
</head>
<body>
  <div id="a">
    <input type="text">
  </div>
</body>
</html>

注明:此文转载自兄弟:CSDN博主「满天星716」的原创文章

链接为:input获取焦点,改变父元素_满天星716的博客-CSDN博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值