答案 0 :(得分:2)
尝试使用css伪元素(w3c spec)和css边框半径(w3c spec)的组合:
.box {
position: relative;
padding: 10px;
margin: 30px auto;
background: darkorange;
width: 300px;
}
.content {
position: relative;
z-index: 2;
}
.top-bottom,
.left-right {
position: absolute;
z-index: 1;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.top-bottom:before,
.top-bottom:after {
z-index: 1;
content: "";
display: block;
position: absolute;
background: darkorange;
right: 0;
left: 0;
height: 12px;
border: 4px solid darkgreen;
}
.top-bottom:before {
top: -12px;
border-bottom: 0;
border-top-left-radius: 13px;
border-top-right-radius: 13px;
}
.top-bottom:after {
bottom: -12px;
border-top: 0;
border-bottom-left-radius: 13px;
border-bottom-right-radius: 13px;
}
.left-right:before,
.left-right:after {
content: "";
display: block;
position: absolute;
background: darkorange;
top: 0;
bottom: 0;
width: 12px;
border: 4px solid darkgreen;
}
.left-right:before {
left: -12px;
border-top-left-radius: 13px;
border-bottom-left-radius: 13px;
border-right: 0;
}
.left-right:after {
right: -12px;
border-top-right-radius: 13px;
border-bottom-right-radius: 13px;
border-left: 0;
}

<div class="box">
<div class="top-bottom"></div>
<div class="left-right"></div>
<div class="content">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quisquam iusto magnam natus amet in assumenda iure recusandae aspernatur animi blanditiis molestiae sunt nisi temporibus reprehenderit nesciunt doloribus fugit aliquam! Vero!
</div>
</div>
&#13;
答案 1 :(得分:0)
这不是100%准确但是一开始,你应该能够从这里调整以匹配你想要的形状:http://jsfiddle.net/shannabarnard/e83qygoj/3/
HTML
<div class="box">
<div class="box_bg">
<div class="corner one"></div>
<div class="corner two"></div>
</div>
</div>
CSS
.box {
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
margin-top:-50px;
}
.box_bg {
background: red;
height: 300px;
width: 300px;
margin: 100px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
-moz-border-radius: 20%;
-webkit-border-radius: 20%;
border-radius: 20%;
}
.box_bg:before {
content: " ";
position: absolute;
width: 40px;
height: 40px;
background-color: #fff;
border-radius: 20px;
}
.corner {
display: inline-block;
width: 0;
height: 0;
border-left: 0 solid transparent;
border-right: 70px solid transparent;
border-top: 100px solid red;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
border-radius: 50%;
float: left;
margin-left: 15px;
}
.one {
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
}
.two {
margin-left: -70px;
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
}