【发布时间】:2011-06-09 15:08:16
【问题描述】:
我正在使用 Raphael 创建基于矢量的地图。地图很大,所以我使用 RaphaelZPD 来允许缩放和平移,同时将图像放入较小的框架中。我已经使用 html5 创建了一个 div 集作为具有圆角的表格单元格和一些在 css 文件中设置的插入框阴影。我已经将我的 Raphael 画布与 div 相同,虽然它可以很好地加载,但可以正确显示所有图形,所有动画元素都可以正常工作,保持在边界内等。仍然有一个小问题。 SVG 会覆盖在 css 中设置的圆角和插入框阴影属性。所以我得到尖角而不是圆角。如果我平移地图以便没有 Raphael 生成的图形覆盖角落,圆角会再次出现。阴影也是如此。
那么有没有办法让 js 留在这些效果后面呢?或者我应该尝试通过创建倒圆角作为保留在顶层而忘记阴影的绝对元素来绕过它?
我希望我清楚自己的问题,获得了一周的编程经验,我的术语仍然有点不稳定。
#map {
display: table-cell;
position: absolute;
margin-top: 104px;
margin-left: 350px;
border-radius: 0 2em 2em 0;
box-shadow: inset 3px 0 7px #777;
width: 550px;
height: 900px;
background: #FFFFFF;
}
var paper = Raphael('map');
【问题讨论】:
-
可能需要查看您的标记和 css 才能进行故障排除。我可以将 css3 属性添加到我为 Raphael 画布定义并绘制的 div 中。
-
#map { 显示:表格单元格;位置:绝对;边距顶部:104px;左边距:350px;边界半径:0 2em 2em 0;盒子阴影:插图 3px 0 7px #777;宽度:550 像素;高度:900px;背景:#FFFFFF;对于 Raphael,我只需要 var paper = Raphael('map');
-
您的地图有可以查看的地方吗?如果没有看到您实际尝试做的事情,我认为我无法重现问题。仅仅在 div 上定义 Raphael 对象并不足以让 CSS3 效果消失。
-
好吧,这会很丑,但请原谅我,我只是在这里学习,所以它非常混乱,我绘制的图形只是用来练习的,而不是实际的东西。不管怎样,jsfiddle.net/cgnrh/2 我也无法让 RaphaelZPD 工作,即使我出于某种原因将它作为外部脚本添加到 html 中。你可以从这里得到它github.com/somnidea/raphael-zpd
标签: javascript css html raphael