CSS On hover show another element

use*_*029 40 html css hover

I want to use CSS to show div id='b' when I hover over div id='a', but I cannot figure out how to do it because the div 'a' is inside another div that div 'b' is not in.

<div id='content'>
     <div id='a'>
         Hover me
     </div>
</div>
<div id='b'>
    Show me
</div>
Run Code Online (Sandbox Code Playgroud)

Ank*_*wal 63

我们可以像这样悬停显示相同的标签div

<style>
#b {
    display: none;
}

#content:hover~#b{
    display: block;
}

</style>
Run Code Online (Sandbox Code Playgroud)

  • TIL [本作品](http://www.w3.org/TR/selectors/#general-sibling-combinators) - [if(且仅当)`#b`在`#content`]之后(http:/ /jsfiddle.net/daCrosby/wrkxg/) (18认同)
  • 精度:如果在#content之后#b不直接,它也可以工作.这允许交换.我很困惑[CSS有时可以消除JQuery/Javascript对基本交互的需求](http://jsfiddle.net/bonatoc/2Lmgf7jr/1/). (2认同)

Sha*_*mar 20

确实可以使用以下代码

 <div href="#" id='a'>
     Hover me
 </div>

<div id='b'>
    Show me
</div>
Run Code Online (Sandbox Code Playgroud)

和css

#a {
  display: block;
}

#a:hover + #b {
  display:block;
}

#b {
  display:none;
  }
Run Code Online (Sandbox Code Playgroud)

现在通过悬停在元素#a上显示元素#b.


Rou*_*ica 8

你可以使用ax选择器.

有两种方法:

1.直接父轴选择器(<)

#a:hover < #content + #b
Run Code Online (Sandbox Code Playgroud)

这个ax样式规则将选择#b,这是其直接兄弟#content,它的直接父亲#a具有:hover状态.

div {
display: inline-block;
margin: 30px;
font-weight: bold;
}

#content {
width: 160px;
height: 160px;
background-color: rgb(255, 0, 0);
}

#a, #b {
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
}

#a {
color: rgb(255, 0, 0);
background-color: rgb(255, 255, 0);
cursor: pointer;
}

#b {
display: none;
color: rgb(255, 255, 255);
background-color: rgb(0, 0, 255);
}

#a:hover < #content + #b {
display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)
<div id="content">
<div id="a">Hover me</div>
</div>

<div id="b">Show me</div>

<script src="https://rouninmedia.github.io/axe/axe.js"></script>
Run Code Online (Sandbox Code Playgroud)


2.远程元素轴选择器(\)

#a:hover \ #b
Run Code Online (Sandbox Code Playgroud)

将选择此ax样式规则#b,该规则存在于#a具有:hover状态的同一文档中.

div {
display: inline-block;
margin: 30px;
font-weight: bold;
}

#content {
width: 160px;
height: 160px;
background-color: rgb(255, 0, 0);
}

#a, #b {
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
}

#a {
color: rgb(255, 0, 0);
background-color: rgb(255, 255, 0);
cursor: pointer;
}

#b {
display: none;
color: rgb(255, 255, 255);
background-color: rgb(0, 0, 255);
}

#a:hover \ #b {
display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)
<div id="content">
<div id="a">Hover me</div>
</div>

<div id="b">Show me</div>

<script src="https://rouninmedia.github.io/axe/axe.js"></script>
Run Code Online (Sandbox Code Playgroud)

  • https://github.com/RouninMedia/axe 这是什么?这不受官方支持,但这是您的项目 (3认同)