圆形的div

时间:2011-04-04 10:37:22

标签: javascript html css

我正在尝试创建一个网页设计,有一些奇怪的形式,如下所示: enter image description here

当用户悬停在1个部分时,后台应仅为其更改:

enter image description here

第二个和第三个相同:enter image description here

希望我很清楚......

我不知道应该使用什么技术来实现这种效果。有人可以帮忙吗?

5 个答案:

答案 0 :(得分:3)

可以在悬停时使用带有图像替换的绝对定位的png,然后在其中抛出一个矩形div

答案 1 :(得分:2)

有两种方法:

  1. 使用SVG绘制形状,并为旧版IE提供后备。

  2. 使用背景图片。在正常形状的div上。

答案 2 :(得分:0)

我会使用三个单独的图像,每个图像都有整个背景和一个“选定”区域 - 在悬停div时,只需将背景替换为div为“已选择”的背景。

JS代码的快速示例:

function ReplaceBg(oDiv, num) {
   oDiv.parentNode.style.backgroundImage = "url(images/background_" + num + ".png)";
}

function RestoreBg(oDiv) {
   oDiv.parentNode.style.backgroundImage = "url(images/background.png)";
}

HTML:

<div style="background-image: url(images/background.png);">
   <div onmouseover="ReplaceBg(this, 1);" onmouseout="RestoreBg(this);">First</div>
   <div onmouseover="ReplaceBg(this, 2);" onmouseout="RestoreBg(this);">Second</div>
   <div onmouseover="ReplaceBg(this, 3);" onmouseout="RestoreBg(this);">Third</div>
</div>

希望这个想法足够清楚......

答案 3 :(得分:0)

有一个CSS3语法boreder-radius,你可以用它来做,但你已经在这里做了工作,我的意思是你已经设置了随机像素并寻找最适合的像素。例如,这里是 - http://jsfiddle.net/divinemamgai/Ld7He/

OR

也许您应该将主要背景图像保持为图像13的白色,而图像2使用png  基于背景图片并使用Jquery在鼠标悬停时更改它,并且不要忘记为图片z-index保留最高2

希望这会对你有所帮助。

答案 4 :(得分:0)