如果它不是子元素,纯CSS可以在悬停时更改其他元素吗?

Guu*_*Guu 4 html css css3

css是否包含更改其他元素的可能性hover.因为我有点挣扎着简单的任务.对于此示例,我希望form在您悬停时显示<a> tag.

<a id="log" href="#">text</a>
      <form id="form" action="" method="post">
            <input type="text" name="id"/>
            <input type="submit" name="submit"/>  
      </form>
Run Code Online (Sandbox Code Playgroud)

css应该是这样的:

#form{
    opacity:0;
}
#log:hover ~ #form {
    opacity: 1;
}
Run Code Online (Sandbox Code Playgroud)

要么:

#log:hover + #form {
    opacity: 1;
}
Run Code Online (Sandbox Code Playgroud)

它真的让我发疯:/有什么建议我怎么能让它起作用?如果有其他方法我不想使用javaScript.

Mat*_*ran 8

#form {
  display: none;
}

#log:hover ~ #form {
  display:block;
}

#form:hover {
  display:block;
}
Run Code Online (Sandbox Code Playgroud)

您需要#form:hover这样,当您停止悬停链接时表单不会消失,但如果您在触摸设备上,这将无法正常工作.#log:active ~ #form可以触摸,现在无法确认.

例如:http://jsbin.com/etuxab/1/edit


Dip*_*pak 5

把它写成 -

#form{
    opacity:0;
    filter:alpha(opacity=0); /*For IE8*/
}

#log:hover ~ #form {
    opacity: 1;
    filter:alpha(opacity=100); /*For IE8*/
}
Run Code Online (Sandbox Code Playgroud)

工作演示