【发布时间】:2014-12-20 15:10:47
【问题描述】:
我想用 HTML&CSS 编写下面的设计代码
到目前为止我所做的是:
我使用:
- 一个链接
- SVG 作为背景
- CSS 中的绝对位置和 translate(x,y) 属性。
请查看fiddle 获取实时链接
我的设计中存在的问题是:
- 每个项目实际上都是一个矩形,如果您注意到突出显示的 红色矩形,这是选择的区域,所以如果你悬停 在 m2 的左上角,它将选择 m3。
- 我想改变 悬停时SVG背景的背景颜色,如何 做到这一点?
- 有没有一种理想的方法可以让这个概念变得更好? 即使我们使用 JS 来定位元素。
点击here查看SVG形状本身。
项目的 CSS 代码:
.menu #m1 {
right: 100px;
transform: translate(-140px, -160px);
}
.menu #m2 {
right: 295px;
transform: translate(-25px, -80px);
}
.menu #m3 {
right: 400px;
}
.menu #m4 {
right: -60px;
transform: translate(-140px, -160px);
}
.menu #m5 {
right: 140px;
transform: translate(-20px, -80px);
}
.menu #m6 {
right: 240px;
}
.menu #m7 {
right: -95px;
transform: translate(-15px, -160px);
}
.menu #m8 {
right: 0px;
transform: translate(0, -80px);
}
谢谢,
【问题讨论】:
-
您可以将它们组合成 1 个 svg 吗?然后在 g 元素上添加属性,例如,您可以添加
fill="true"(我在想 d3 btw) -
将它们分组为 1 个 svg 不适用于响应式设计,对吧? g元素是什么意思?和d3?
-
它可能不会响应式工作。你可以将元素分组到一个 SVG 中。所以每个矩形在 svg 中都是
<g>......具有自己的属性......并使用多边形......而不是带旋转的矩形 -
从你的小提琴来看,这不是 SVG
标签: css svg responsive-design css-shapes