在CSS中创建六边形,对称

fps*_*fps 6 css css3

我必须创建一个六边形,我真的希望它是完整的HTML和CSS.它几乎完成了,除了它不是完全对称的事实.左角未与右角对齐.目前的css:

.hexagon.outer {
    width: 318px;
    height: 452px;
    position: relative;
}
.hexagon.outer, .hexagon.outer:before, .hexagon.outer:after {
   background-repeat:no-repeat;
    background-color: #585858;
}
.hexagon.outer:before, .hexagon.outer:after {
    content: "";
    position: absolute;
    width: 262px;
    height: 262px;
    top:95px;
    -moz-transform: rotate(54.5deg) skew(22.5deg);
    -webkit-transform: rotate(54.5deg) skew(22.5deg);
    transform: rotate(54.5deg) skew(22.5deg);
}
.hexagon.outer:before {
    left: -130px;
}
.hexagon.outer:after {
    left: 186px;
}
.hexagon.outer span {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 55px;
    background:#585858;
    z-index: 1;
}

.hexagon.inner {
    width: 276px;
    height: 372px;
    position: relative;
    margin:0 auto;
    top: 40px;
    z-index:4;

}
.hexagon.inner, .hexagon.inner:before, .hexagon.inner:after {
   background-repeat:no-repeat;
    background-color: white;
}
.hexagon.inner:before, .hexagon.inner:after {   
    content: "";
    padding:0;
    margin:0;
    position: absolute;
    width: 215px;
    height: 215px;
    top:79px;
    -moz-transform: rotate(54.5deg) skew(22.5deg);
    -webkit-transform: rotate(54.7deg) skew(22.5deg);
    transform: rotate(54.7deg) skew(22.5deg);
}

.hexagon.inner:before {
    left: -107px;
}
.hexagon.inner:after {
    left: 169px;
}
.hexagon.inner span {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 55px;
    background:#585858;
    z-index: 1;
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<div class="hexagon outer">
   <div class="hexagon inner">

   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

示例:http://jsfiddle.net/jK7sH/

外六边形最终会产生(背景)效果,这就是为什么有两个(内部和外部).

我试图通过反复试验来对齐它们,但我认为这不起作用,因为:之前和之后矩形是倾斜的.

是否可以在不使用边框的情况下使用CSS创建对称六边形?

提前感谢所有信息!

G-C*_*Cyr 0

您可以尝试使用背景线性渐变 http://dabblet.com/gist/5767212

将它们悬停在 上,看看宽度增加时它的反应如何。

  • 天哪,我感到羞耻:) (5认同)
  • 不!Hex = 6 Oct = 8(六角形:6 个边;己烷:6 个碳烃与八边形:8 个边;辛烷:8 个碳烃) (3认同)