我正在开发一个带有底层 hexgrid 的小游戏。为此,我建议使用 svg,因为重叠的 img 存在正确的鼠标交互问题。现在我用一些多边形构建了一个简单的 hexgrid,并添加了一些 CSS 来实现悬停效果。但这不能正常工作。它并非一直触发,并且行为非常不稳定。基本上它包括:
...
<svg id="svggrid" class="grid" xmlns="http://www.w3.org/2000/svg" version="1.1">
<polygon points="25,43 75,43 100,86 75,129 25,129 0,86" class="tile"></polygon>
<polygon points="25,129 75,129 100,172 75,215 25,215 0,172" class="tile"></polygon>
<polygon points="25,215 75,215 100,258 75,301 25,301 0,258" class="tile"></polygon>
<polygon points="100,0 150,0 175,43 150,86 100,86 75,43" class="tile"></polygon>
<polygon points="100,86 150,86 175,129 150,172 100,172 75,129" class="tile"></polygon>
<polygon points="100,172 150,172 175,215 150,258 100,258 75,215" class="tile"></polygon>
<polygon points="175,43 225,43 250,86 225,129 175,129 150,86" class="tile"></polygon>
<polygon points="175,129 225,129 250,172 225,215 175,215 150,172" class="tile"></polygon>
<polygon points="175,215 225,215 250,258 225,301 175,301 150,258" class="tile"></polygon>
</svg>
...
和 CSS(外部文件,链接到网站):
...
.tile{
stroke: #000000;
fill:none;
}
.tile:hover{
stroke: #808080;
fill:red;
}
...
我把它放进这个jsfiddle:
如果我删除 SVG 的 CSS 中的 .tile ,它可以工作,但如果没有,我将无法调整多边形的颜色和边框。我很困惑为什么没有这个部分它可以工作。
这显示在这个 jsfiddle 中:http: //jsfiddle.net/tf3fu/
我究竟做错了什么?