Ale*_*ile 3 html css hover css-selectors
我对一种使CSS(no javascript)展示div您之外的或元素的方式感兴趣:hover,例如:
#divid {
display: none;
}
a:hover #divid {
display: block;
}Run Code Online (Sandbox Code Playgroud)
<a href="#">Hover me!</a>
<div id="divid">Hello there, fellow friend!</div>Run Code Online (Sandbox Code Playgroud)
我很好奇,因为当您将鼠标悬停在某个菜单元素上时我想做点事情,您会在浏览器的左边缘绘制搜索栏(它将是position: fixed;)。
编辑:
我认为上面的代码并不是我想要的。
这是实际的代码,因为答案始终无法正常工作。
#fixed2 a:hover + .nav {
background: black;
}
#options:hover + #search_text {
position: fixed;
top: 0;
left: 0;
}Run Code Online (Sandbox Code Playgroud)
<ul class="nav">
<li id="left" class="big">
<a href="#">
<img width="35px" src="square.png" />
</a>
</li>
<li id="left" class="arrow">
<a href="#">
<img src="arrow.png" />
</a>
</li>
<li id="left">
<a href="#">
<img width="17px" style="margin-left: -7px" src="refresh.png" />
</a>
</li>
<li id="left">
<a href="#">
<img width="18px" style="opacity: 0.94; margin-top: -1px;" src="help.png" />
</a>
</li>
<div id="fixed">
<li id="search">
<form action="" method="get">
<input type="text" name="search_text" id="search_text" placeholder="Search" />
<input type="button" name="search_button" id="search_button">
</form>
</li>
</div>
<div id="fixed2">
<li class="icn" id="options">
<a href="#">
<img width="25px" src="settings.png" />
</a>
</li>
</div>
</ul>Run Code Online (Sandbox Code Playgroud)
为什么它不能正常工作而只能实际工作?
UPDATE, 您无法使用当前的标记实现CSS所需的功能,因为CSS没有父CSS选择器,请检查是否有CSS父选择器?,因此有两个选择:
您可以使用相邻的兄弟选择器 +
#divid {
display: none;
}
a:hover + #divid {
display: block;
}Run Code Online (Sandbox Code Playgroud)
<a href="#">Hover me!</a>
<div id="divid">Hello there, fellow friend!</div>Run Code Online (Sandbox Code Playgroud)
如果它们之间有额外的兄弟姐妹,则可以使用不太严格的常规兄弟姐妹选择器 ~
#divid {
display: none;
}
a:hover ~ #divid {
display: block;
}Run Code Online (Sandbox Code Playgroud)
<a href="#">Hover me!</a>
<div id="sibling">I'm sibling too</div>
<div id="divid">Hello there, fellow friend!</div>Run Code Online (Sandbox Code Playgroud)