我有一个div
被调用的图像。它有一个 CSS-property visibility:hidden;
。我有另一个按钮叫做按钮。
我需要的是当我悬停按钮时,图像变为visibility:visible;
.
我可以使用 CSS 还是必须使用 JavaScript?
我有一个div
被调用的图像。它有一个 CSS-property visibility:hidden;
。我有另一个按钮叫做按钮。
我需要的是当我悬停按钮时,图像变为visibility:visible;
.
我可以使用 CSS 还是必须使用 JavaScript?
是的,你可以这样做
像这样
HTML
<label for="button">Click here</label>
<input type="checkbox" id="button">
<div class="one">Show my div</div>
CSS
label{
background:green;
padding:10px;
}
.one{
width:100px;
display:none;
height:100px;
background:red;
margin-top:20px;
}
input[type="checkbox"]{
visibility:hidden;
}
input[type="checkbox"]:checked ~ .one{
display:block;
}
更新的答案
如果您只想悬停而不是查看此*演示*
请注意,这是一个 javascript / jQuery 解决方案:
$(button).hover(function() {
$('div#image').attr('visibility', 'visible');
}, function() {
$('div#image').attr('visibility', 'hidden');
});
如果 div 是按钮的子级,则只能执行此操作 - 这是不可能的。
如果你让它成为其他东西的孩子(即不是一个按钮,做不同的事情),这是可能的。
但是,什么浏览器?所有主要的?因为如果您愿意只使用最现代的,则可以使用兄弟选择器。
但是对于主流用法,只有当 div 是悬停元素的子元素时才能这样做。注意:您可以悬停任何东西,它不必是按钮或链接<a>
。所以这就是我要做的 - 制作一个看起来像按钮的 div 元素,并且有一个您想要更改的子元素。
为此,您需要 javascript。如果您的 div 是按钮的父级,则可以使用 css,但在您的情况下,这是不可能的 JS
function changeVisibility(objID) {
var el = document.getElementById(objID);
if(el.style.visibility == 'hidden') {
el.style.visibility = 'visible';
return true;
}
el.style.visibility = 'hidden';
}
HTML
<div id="box">Something to show</div>
<input type="button" class="button" onmouseover="changeVisibility('box')" value="Change visibility" />