我想在HTML& CSS
中对以下设计进行编码
到目前为止我所做的是:
我用它做了:
请在fiddle查看实时链接
我的设计中的问题是:
单击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);
}
谢谢,
答案 0 :(得分:7)
这就是我如何根据Responsive grid of diamonds保持形状的边界(不需要JS或svg):
<强> DEMO 强>
.wrap{
width:50%;
margin-left:13%;
transform-origin:60% 0;
transform: rotate(-45deg);
}
.wrap > a{
float:left;
width:19%;
padding-bottom:19%;
margin:0.5%;
background:teal;
}
.wrap > a:hover{
background:gold;
}
.wrap > a:nth-child(4){
clear:left;
margin-left:20.5%;
}
.wrap > a:nth-child(7){
clear:left;
margin-left:60.5%;
}
&#13;
<div class="wrap">
<a href="#"></a>
<a href="#"></a>
<a href="#"></a>
<a href="#"></a>
<a href="#"></a>
<a href="#"></a>
<a href="#"></a>
<a href="#"></a>
</div>
&#13;
要在形状中插入内容,您可以&#34;取消旋转&#34;它与transform: rotate(45deg)
答案 1 :(得分:0)
直接回答是使用SVG的poly属性
那就是你不依靠CSS来旋转它。
在css更改外观后,不会操纵一次绘制的svg元素。
在poly中绘制'菱形'形状是避免边界矩形的最佳选择..
<svg height="250" width="500">
<polygon points="0,25, 25,0, 50,25, 25,50 " style="fill:black" />
</svg>
基本示例
您生成的代码显示它不是您正在编辑的SVG背景。
如果您想要更改SVG背景,可以添加我已排队的属性,而不是在CSS中编辑。
例如,对于我选择处理悬停事件,你需要在每个svg元素上使用id,然后在每个元素上使用:hover
或javascript ..但它只是一个选项。其他答案看起来更适用。
我的回答只能简化SVG的绘制。
答案 2 :(得分:0)
您是否尝试使用css rotate来限制矩形。你现在可以使用SVG作为背景。
.m-item {
color: white;
text-decoration: none;
text-transform: uppercase;
border: 2px solid #000;
background-color: black;
padding: 50px;
position: absolute;
transform: rotate(45deg) translate(25px);
}
.m-item span {
position: absolute;
transform: rotate(-45deg) translate(0, -14px);
}
.m-item:hover {
background-color: #AA5;
}
<a href="#" class="m-item"><span>m1</span></a>
答案 3 :(得分:0)
您需要自行轮换链接。现在,你没有旋转任何东西,你只是用旋转的盒子显示图像。相反,使背景图像不旋转并使用CSS旋转它们。
例如:
-ms-transform: rotate(7deg); /* IE 9 */
-webkit-transform: rotate(7deg); /* Chrome, Safari, Opera */
transform: rotate(7deg);