这是我的代码。我做了这个 - 当我悬停表格单元格然后它的背景图像发生变化时,这很容易。 但是我想在第一个表格中使用class =“down”将单元格5悬停在第二个表格中,然后第二个表格显示属性从无变为阻止 我搜索了这个,我最终得到了所有这些代码,但它无法正常工作。 我需要使用没有JavaScript的纯CSS。 问题出在哪里,我做错了什么?
HTML
<table border="0" class="table">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td class="down">5</td>
</tr>
</table>
<table border="0" class="table2">
<tr>
<td>row2</td>
</tr>
<tr>
<td>row3</td>
</tr>
</table>
CSS
.table
{
left:200px;
position:absolute;
}
td
{
background-image:url(poga1.png);
height:70px;
width:100px;
}
td:hover
{
-webkit-transition:1s;
background-image:url(poga2.png);
}
.table2
{
display:none;
left:616px;
position:absolute;
top:77px;
}
.down:hover .table2
{
display:block;
}
答案 0 :(得分:0)
第.down:hover .table2
行正在寻找一个内容为table2
的元素一个类为down
的元素。如果您的表是嵌套的,那么您只能在纯CSS中执行所需的操作。以下是使用jQuery执行所需操作的方法:
$(document).ready(function() {
$('.down').hover(function() {
$('.table2').show();
}, function() {
$('.table2').hide();
});
});
以下是演示:http://jsfiddle.net/mchail/b6PKT/
我在td
元素上添加了一个边框,因此您可以更轻松地查看悬停事件何时触发。
答案 1 :(得分:0)
除非Table2是Table1的子级,否则你不能用CSS真正做到这一点。尽管如此(在本例中使用jQuery),它可以很容易地用JavaScript完成。看看我的例子:
$(document).ready(function() {
$(".down").mouseover(function(){
$(".table2").show();
});
$(".down").mouseout(function(){
$(".table2").hide();
});
});
这是在悬停时执行隐藏/显示的代码块。我冒昧地更新了您的源代码,因此更容易看到。
更新:如果你绝对,积极地,必须在没有JavaScript的情况下做到这一点,这就是如何用CSS和HTML来解决这个问题: