【问题标题】:Raphael canvas overrides css拉斐尔画布覆盖 css
【发布时间】:2011-06-09 15:08:16
【问题描述】:

我正在使用 Raphael 创建基于矢量的地图。地图很大,所以我使用 RaphaelZPD 来允许缩放和平移,同时将图像放入较小的框架中。我已经使用 html5 创建了一个 div 集作为具有圆角的表格单元格和一些在 css 文件中设置的插入框阴影。我已经将我的 Raphael 画布与 div 相同,虽然它可以很好地加载,但可以正确显示所有图形,所有动画元素都可以正常工作,保持在边界内等。仍然有一个小问题。 SVG 会覆盖在 css 中设置的圆角和插入框阴影属性。所以我得到尖角而不是圆角。如果我平移地图以便没有 Raphael 生成的图形覆盖角落,圆角会再次出现。阴影也是如此。

那么有没有办法让 js 留在这些效果后面呢?或者我应该尝试通过创建倒圆角作为保留在顶层而忘记阴影的绝对元素来绕过它?

我希望我清楚自己的问题,获得了一周的编程经验,我的术语仍然有点不稳定。

http://jsfiddle.net/cgnrh/4/

#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


【解决方案1】:

我在你的地图 div 周围包裹了一个 div:

<div id="frame">
  <div id="map">
  </div>
</div>

然后我在#map 上将位置从绝对位置更改为相对位置,并为框架添加样式:

#frame {
  position: relative;
  top: 104px;
  left: 350px;
  overflow:hidden;
  border-radius: 0 2em 2em 0;
}

通过将圆角应用于包装 div 并隐藏溢出,它会在地图图像上创建圆角。我相信你的假设是正确的,Raphael SVG 正在渲染正在绘制的 div 的效果,所以你只需要用周围的 div 来约束它。将位置从绝对位置更改为相对位置并在包装 div 上使用定位是必要的,以使其布局在与之前相同的位置。我认为您无法实现插入框阴影。

http://jsfiddle.net/9w2ub/

【讨论】:

  • 好吧,我明白你的意思,尽管出于某种原因,我现在看到的结果根本没有圆角?我知道我的表格在绝对位置上非常混乱,我仍在寻找最终布局,但通过这种方法,我相信我最终可以让它工作。感谢您的帮助!
  • 如果你一直向右滚动,你看不到圆角吗?您在哪个浏览器中查看它?
  • 好吧,有趣的是,我可以看到 FF4 中的圆角,但看不到 Chrome,即使我在边框半径样式中添加了供应商前缀。去图吧。
猜你喜欢
  • 1970-01-01
  • 2011-05-08
  • 2011-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-04
  • 2016-03-03
  • 2015-09-08
相关资源
最近更新 更多