为什么css中的选择器'+'不适用于图像?

Bal*_*áni 0 css

所以我有一个非常基本的CSS,如果你悬停一个按钮,就会显示图像.但我不明白为什么它不起作用.有没有我没有得到的规范?

#hoverMe:hover + img, #hoverMe:hover + p {
  background-color:red;
  display:block;
}
img {
  display:none;
  transition:0.5s;
}
Run Code Online (Sandbox Code Playgroud)
<button id="hoverMe">HOVER ME</button>
<p>Test</p>          
<div class="image">
  <img src="http://www.placehold.it/350x200" id="image2">
</div>
Run Code Online (Sandbox Code Playgroud)

Nie*_*jes 8

+相邻的兄弟选择器.您的规则适用于p元素,因为它是相邻的.在div不相邻,而且img甚至不是在同一水平上.

相反,您可以使用常规兄弟选择器~来访问div,然后使用常规嵌套来选择img:

#hoverMe:hover ~ div img, #hoverMe:hover + p {
  background-color:red;
  display:block;
}
img {
  display:none;
  transition:0.5s;
}
Run Code Online (Sandbox Code Playgroud)
<button id="hoverMe">HOVER ME</button>
<p>Test</p>          
<div class="image">
  <img src="http://www.placehold.it/350x200" id="image2">
</div>
Run Code Online (Sandbox Code Playgroud)