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