Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 在聚焦于其他元素时更改单独的元素样式_Html_Css - Fatal编程技术网

Html 在聚焦于其他元素时更改单独的元素样式

Html 在聚焦于其他元素时更改单独的元素样式,html,css,Html,Css,如何让它工作? HTML #导航输入[type=text]:焦点~#二{ 颜色:红色; } 两个jfjsoijfoisovnosnovdnnoivnoisionvonoinisoCss不能像jquery那样解析Dom树,所以它不能解析父元素 ~运算符仅在元素位于相同深度时才起作用 <div id=nav> <input type="text" placeholder="Search" name="search&quo

如何让它工作? HTML

#导航输入[type=text]:焦点~#二{
颜色:红色;
}


两个jfjsoijfoisovnosnovdnnoivnoisionvonoiniso
Css不能像jquery那样解析Dom树,所以它不能解析父元素

~
运算符仅在元素位于相同深度时才起作用

<div id=nav>
    <input type="text" placeholder="Search" name="search">
    <div id="two">Two jfjsoijfoisoivnosnovdnsnnoivnoinsionvonoiniso</div>
</div>

两个JFJSOIJFOISOIVNOSNNOIVNOINIONVONONISO

你不能。只有当元素是
:focus
的兄弟或子元素时,才有可能执行此操作

可以使用Javascript,也可以将div放在nav中(如果无法更改DOM树,那么这可能不是您想要的)

#导航输入[type=text]:焦点~#二{
颜色:红色;
}

两个JFJSOIJFOISOIVNOSNNOIVNOINIONVONONISO
#导航:焦点在#2之内{
颜色:红色;
}


两个JFJSOIJFOISOIVNOSNNOIVNOINIONVONOINISO
那么如何使它工作呢?@VickyP,你的id是错误的,因为在问题中它也丢失了,
id=“nav”
那么如何使它工作呢,有什么变化?这是一篇相关的文章,解释了儿童和兄弟姐妹选择器,抱怨OP缺少所需的功能,并演示了一些jQuery模式来解决此问题:@Lessey通过更改dom或使用js/jQuery。我给了你们两个解决方案,还有一个纯Js的解决方案。我尝试了纯Js的方式,但都不起作用@IslamElshobokshy@Lessey它确实起作用这是错误的,使用它,如果
nav
包含多个元素,那么焦点将出现在所有元素上。不,它不是…显然是它works@Paulie_D正如我所说,如果导航包含多个元素,那么所有元素都将被使用。不是特别是OP要求的
input[type=text]
。@Paulie\u D看到他特别要求
input[type=text]
one假设他只想要这些。如果我们有一个元素,但我特别要求@IslamElshobokshy所说的
input[type=text]
元素,那么这项工作还有其他方法吗?