我正在尝试用 CSS 制作一个形状:圆角六边形(也被拉长)。我尝试了几种不同的方法(例如一个盒子作为主体,顶部和底部有 2 个圆角三角形),但到目前为止我还没有想出任何好的方法。有没有人有一些想法在 CSS 中创建这个形状?(最近我来了,没有伸长:http ://cdpn.io/fhpiH )
问问题
5408 次
3 回答
1
我的解决方案,差不多了。:)
使用 2 个盒子作为顶部和底部,并将它们旋转 45 度。
HTML
<div class="container">
<div class="box"></div>
<div class="middle"></div>
<div class="box"></div>
</div>
CSS
.container {
position:relative;
width:500px;
}
.middle {
border-left: 10px solid orange;
border-right: 10px solid orange;
height: 228px;
left: 137px;
position: absolute;
top: 132px;
width: 266px;
background:#fff;
z-index:20;
}
.box {
width:200px;
height:200px;
background:#fff;
border:10px solid orange;
-webkit-border-radius: 30px;
border-radius: 30px;
-moz-transform: scale(1) rotate(45deg) translateX(140px) translateY(-100px) skewX(0deg) skewY(0deg);
-webkit-transform: scale(1) rotate(45deg) translateX(140px) translateY(-100px) skewX(0deg) skewY(0deg);
-o-transform: scale(1) rotate(45deg) translateX(140px) translateY(-100px) skewX(0deg) skewY(0deg);
-ms-transform: scale(1) rotate(45deg) translateX(140px) translateY(-100px) skewX(0deg) skewY(0deg);
transform: scale(1) rotate(45deg) translateX(140px) translateY(-100px) skewX(0deg) skewY(0deg);
-webkit-box-shadow: 5px 5px 5px 5px rgba(0, 0, 0, 0.3);
box-shadow: 5px 5px 5px 5px rgba(0, 0, 0, 0.3);
}
@koningdavid - 他的解决方案稍微好一点,我应该使用:before
并且:after
于 2013-06-24T15:15:13.187 回答
0
它并不完美,但也许这会将你推向正确的方向......
我使用了 2 个旋转的正方形,并border
在 2 侧给了它们一个。边缘有点困难,但也许通过一些调整,你可以使边界的重叠更好
于 2013-06-24T15:01:07.493 回答
0
我的 CSS3 Hexagon 变体,在 cssdesk上的梦想笔记 和演示中带有边框和框阴影和边框半径
于 2013-08-28T14:14:01.550 回答