Html 我可以使用img:hover获取另一个元素吗?

Html 我可以使用img:hover获取另一个元素吗?,html,css,css-selectors,Html,Css,Css Selectors,那么有没有可能做到这一点呢 #element img:hover #otherelement {...} 像 img保持指定状态很重要,因为我制作的图像是自动的。是的,请尝试: #element:hover + #otherelement {...} 或 是的,请尝试: #element:hover + #otherelement {...} 或 您可以通过以下方式选择下一个元素: 相邻兄弟组合子 选择紧跟在element1元素之后的每个element2元素。他们是兄弟姐妹 如果将#oth

那么有没有可能做到这一点呢

#element img:hover #otherelement {...}

img保持指定状态很重要,因为我制作的图像是自动的。

是的,请尝试:

#element:hover + #otherelement {...}

是的,请尝试:

#element:hover + #otherelement {...}


您可以通过以下方式选择下一个元素:

相邻兄弟组合子 选择紧跟在
element1
元素之后的每个
element2
元素。他们是兄弟姐妹

如果将
#otherelement
放在
img
的正后方,则在
img
悬停时将选中该元素

另一个选择是:

一般兄弟组合子 匹配前面有
element1
element2
的出现,而它们具有相同的父项。他们也是兄弟姐妹,但是
element2
前面不必紧跟
element1

#element img:hover ~ #otherelement
如果
#otherelement
img
是同级元素,并且
#otherelement
放置在
img
之后的某个位置,则将在
img
悬停时选择它

HTML

<div id="parent">
    <img src="http://lorempixel.com/200/200/" alt="Sport">
    <div class="text">This is a text.</div>
</div>

您可以通过以下方式选择下一个元素:

相邻兄弟组合子 选择紧跟在
element1
元素之后的每个
element2
元素。他们是兄弟姐妹

如果将
#otherelement
放在
img
的正后方,则在
img
悬停时将选中该元素

另一个选择是:

一般兄弟组合子 匹配前面有
element1
element2
的出现,而它们具有相同的父项。他们也是兄弟姐妹,但是
element2
前面不必紧跟
element1

#element img:hover ~ #otherelement
如果
#otherelement
img
是同级元素,并且
#otherelement
放置在
img
之后的某个位置,则将在
img
悬停时选择它

HTML

<div id="parent">
    <img src="http://lorempixel.com/200/200/" alt="Sport">
    <div class="text">This is a text.</div>
</div>

由于
img
无法容纳任何其他嵌套标记,我假设您的目标是相邻元素,您可以使用
+

#element img:hover + #otherelement {...}
当图像悬停时,上述选择器将选择
img
标记旁边的元素

注意:以上选择器仅在您有如下标记时才起作用

<div id="element">
   <img src="#" />
   <div  id="otherelement"></div >
</div >
<div id="element">
   <img src="#" />
</div >
<div  id="otherelement"></div >

但是如果你像这样

<div id="element">
   <img src="#" />
   <div  id="otherelement"></div >
</div >
<div id="element">
   <img src="#" />
</div >
<div  id="otherelement"></div >

由于
img
无法容纳任何其他嵌套标记,我假设您的目标是相邻元素,您可以使用
+

#element img:hover + #otherelement {...}
当图像悬停时,上述选择器将选择
img
标记旁边的元素

注意:以上选择器仅在您有如下标记时才起作用

<div id="element">
   <img src="#" />
   <div  id="otherelement"></div >
</div >
<div id="element">
   <img src="#" />
</div >
<div  id="otherelement"></div >

但是如果你像这样

<div id="element">
   <img src="#" />
   <div  id="otherelement"></div >
</div >
<div id="element">
   <img src="#" />
</div >
<div  id="otherelement"></div >

您的第一个选择器要查找的是图像中名为
#otherelement
的内容。图像不能有子元素


如果元素是图像的同级元素,您可能希望尝试在图像中使用
img:hover~#otherelement
img:hover+#otherelement
您的第一个选择器要查找的是名为
#otherelement
的内容。图像不能有子元素


如果元素是图像的同级元素,您可能希望尝试
img:hover#otherelement
img:hover+#otherelement

您可以在任何元素上使用:hover伪类。在跨浏览器方面需要考虑一些因素。不过,您可以使用Selectivizr这样的多边形填充


关于你的问题,你可能想考虑为你想用悬停来定位的两个元素指定一个共享的祖先,并以这种方式应用你的风格。

你可以在任何元素上使用:HORD伪类。在跨浏览器方面需要考虑一些因素。不过,您可以使用Selectivizr这样的多边形填充

关于你的问题,你可能想考虑为你想用悬停来定位的两个元素指定一个共享的祖先,并以这种方式应用你的风格。