【发布时间】:2010-06-03 17:18:22
【问题描述】:
我有一个小问题,我认为仅使用纯 CSS 无法实现我想做的事情,但我想我还是会问。
基本上,我有一个 DIV,其中包含一个超链接元素,该元素的大小小于其父 DIV。所以实际上我在一个正方形中有一个正方形,里面的正方形是“命中区域”。当我将鼠标悬停在这个内部方块上时,我希望外部方块的背景发生变化。
我知道在 a:hover 上更改父 DIV 的背景是不可能的,但我想我可以通过在锚点内嵌套一个隐藏图像来给出它发生的错觉。在我想“滚开”之前,这很好用。
问题是我希望图像在我离开锚标记区域时消失,而不是更大的隐藏图像。这可能吗?
为了大家的利益,我提供了一个例子来说明我的意思:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Test Rollover</title>
<link href="main.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="d1">
<a href="#nogo">
<b id="b1"></b>
<b id="b2"></b>
</a>
</div>
</body>
还有css:
#b1
{
width: 200px;
height: 200px;
top: 100px;
left: 100px;
background-color:aqua;
position: absolute;
z-index: 100;
}
#b2
{
width: 400px;
height: 400px;
background-color:lime;
position: absolute;
display: none;
z-index: 90;
}
#d1
{
width: 400px;
height: 400px;
background-color:fuchsia;
position: relative;
}
#d1 a:hover #b2
{
display: block;
}
在这个例子中,当我离开隐藏的内部蓝色方块的边界时,我希望绿色的外部方块消失。
【问题讨论】:
-
如果您可以更明确地说明您想要实现的目标(以及原因),那么有人可能会提出更好的路线建议。
标签: css