有没有办法在CSS或jQuery中制作自定义scoop边框样式?
如下图所示:
答案 0 :(得分:2)
这是一个小提琴...... http://jsfiddle.net/zjw3pg2e/5/ 这对你有用吗?
body {
background: #D8D8D8;
}
.corner {
background:white;
height:20px;
width:20px;
position:absolute;
}
#sw {
left: -2px;
bottom: -2px;
border-radius: 0px 20px 0px 0px;
border-top: 2px solid white;
border-right: 2px solid white;
background:#D8D8D8;
}
#se {
right: -2px;
bottom: -2px;
border-radius: 20px 0px 0px 0px;
border-top: 2px solid white;
border-left: 2px solid white;
background:#D8D8D8;
}
#nw {
left: -2px;
top: -2px;
border-radius: 0px 0px 20px 0px;
border-bottom: 2px solid white;
border-right: 2px solid white;
background:#D8D8D8;
}
#ne {
right: -2px;
top: -2px;
border-radius: 0px 0px 0px 20px;
border-bottom: 2px solid white;
border-left: 2px solid white;
background:#D8D8D8;
}
.box {
position:relative;
height:200px;
width:200px;
border: solid 2px white;
background:#D8D8D8;
border-radius: 5px -5px 5px 5px;
}
.box2 {
position:relative;
height:160px;
width:160px;
overflow:hidden;
left: 20px;
top: 20px;
}
.box2:before{
content:'';
position:absolute;
left:0;
margin:-20px;
height:40px;
width:40px;
border-radius:100%;
background:#D8D8D8;
box-shadow:160px 0 0 #D8D8D8,
0 160px 0 #D8D8D8,
160px 160px 0 #D8D8D8,
0 0 0 500px white;
}
HTML:
<div class="box">
<div id="ne" class="corner"></div> <!--ne, nw, se, sw, are the corners-->
<div id="nw" class="corner"></div> <!--of first object-->
<div id="se" class="corner"></div>
<div id="sw" class="corner"></div>
<div class="box2"></div> <!--box2 is the inner border object-->
</div>
请注意,对于包含框,ne
,nw
,se
,sw
是倒角。
对于box2
,很难解释发生了什么。我的建议是使用盒子阴影的颜色以及像素位置来理解盒子阴影如何产生倒置边框的错觉。
一旦掌握了它,就可以很容易地改变尺寸,使其符合您的喜好。