我已经花费了三个小时尝试寻找如何反转边框半径,我在CSS3中看到了一个专门用于此目的的小代码,但我找不到它...
你必须知道我正在使用WordPress(不幸的是)
有什么想法吗?
我已经花费了三个小时尝试寻找如何反转边框半径,我在CSS3中看到了一个专门用于此目的的小代码,但我找不到它...
你必须知道我正在使用WordPress(不幸的是)
有什么想法吗?
如果你的选项卡有一个纯色背景,你可以使用伪元素来实现这个效果。
首先,我们创建一个带有左上角和右上角边框半径的选项卡。
.tab {
-webkit-border-top-left-radius: 10px;
-webkit-border-top-right-radius: 10px;
-moz-border-radius-topleft: 10px;
-moz-border-radius-topright: 10px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
然后我们添加 position: relative
,因为我们需要在伪元素中使用 position:absolute
。
.tab {
position: relative;
}
现在,我们要创建并定位伪元素作为一个四分之一的圆形,透明的,并使用 box-shadow 模拟边框。
.tab:before,
.tab:after {
content: "";
position: absolute;
height: 10px;
width: 20px;
bottom: 0;
}
.tab:after {
right: -20px;
border-radius: 0 0 0 10px;
-moz-border-radius: 0 0 0 10px;
-webkit-border-radius: 0 0 0 10px;
-webkit-box-shadow: -10px 0 0 0 #fff;
box-shadow: -10px 0 0 0 #fff;
}
.tab:before {
left: -20px;
border-radius: 0 0 10px 0;
-moz-border-radius: 0 0 10px 0;
-webkit-border-radius: 0 0 10px 0;
-webkit-box-shadow: 10px 0 0 0 #fff;
box-shadow: 10px 0 0 0 #fff;
}
这是结果:
演示:jsFiddle
body {
background: #1c1c1c;
padding: 50px;
}
.tab {
float: left;
width: 90px;
padding: 10px 15px;
height: 30px;
position: relative;
background: #fff;
-webkit-border-top-left-radius: 10px;
-webkit-border-top-right-radius: 10px;
-moz-border-radius-topleft: 10px;
-moz-border-radius-topright: 10px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.tab:before,
.tab:after {
content: "";
position: absolute;
height: 10px;
width: 20px;
bottom: 0;
}
.tab:after {
right: -20px;
border-radius: 0 0 0 10px;
-moz-border-radius: 0 0 0 10px;
-webkit-border-radius: 0 0 0 10px;
-webkit-box-shadow: -10px 0 0 0 #fff;
box-shadow: -10px 0 0 0 #fff;
}
.tab:before {
left: -20px;
border-radius: 0 0 10px 0;
-moz-border-radius: 0 0 10px 0;
-webkit-border-radius: 0 0 10px 0;
-webkit-box-shadow: 10px 0 0 0 #fff;
box-shadow: 10px 0 0 0 #fff;
}
<div class="tab"></div>