我想设计一个与下图相似的形状(圆形和矩形之间的效果):
我知道圆形是使用 border-radius 设计的,像形状这样的矩形设计有一些无序列表,其样式为 display:block 。但我无法理解如何将圆圈保持在矩形上,以便看起来矩形的某些部分被圆形切割成圆形(圆形和矩形之间的白色空间)。
我尝试了盒子阴影,轮廓,溢出等,但它不起作用 任何人都可以告诉我如何设计像图像一样的形状? - 谢谢
答案 0 :(得分:11)
这样的东西? http://codepen.io/anon/pen/VvqRep
.rectangle{
display:block;
height:40px;
width:150px;
background:red;
position:relative;
margin-top:100px;
}
.circle{
position:absolute;
height:40px;
width:40px;
border-radius:40px;
border:3px solid white;
left:50%;
margin-left:-25px;
top: -20px;
background:red;
}
使用圆圈上的边框实现“截止”效果。
如果我的asnwser帮助你,你可以选择它吗?感谢
答案 1 :(得分:6)
你可以尝试这个:
.rectangle{
display:block;
height:50px;
width:150px;
background:red;
position:relative;
margin-top:100px;
border-top-left-radius: .5em;
border-top-right-radius: .5em;
}
.circle{
position:absolute;
height:40px;
width:40px;
border-radius:40px;
border:3px solid white;
left:50%;
margin-left:-25px;
top: -20px;
background:red;
}
答案 2 :(得分:3)
检查一下:)
.base{
height:80px;
width:300px;
background:#d33;
position:relative;
margin-top:100px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
}
.circle{
position:absolute;
height:100px;
width:100px;
border-radius:50%;
border:3px solid white;
left:50%;
margin-left:-55px;
top: -40px;
background: #d33;
}
<div class="base">
<div class="circle"></div>
</div>
答案 3 :(得分:2)
#bg {
position: relative;
background: red;
width: 200px;
height: 50px;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
margin-top: 50px;
}
#circle {
position: absolute;
background: red;
margin-left: auto;
margin-right: auto;
left: 0;
right: 0;
top: -50px;
width: 75px;
height: 75px;
border: 3px solid #fff;
border-radius: 50%;
}
<div id="bg">
<div id="circle"></div>
</div>
答案 4 :(得分:2)
使用此:html和css代码:
的CSS:
#rectangle {
width:300px;
height:70px;
position: relative;
background: #cc0000;
border-radius: 5px 5px 0 0;
}
#rectangle #circle {
width:70px;
height:70px;
position: absolute;
top:-35px;
background:#cc0000;
border:1px solid #fff;
border-radius:70px;
left: 50%;
margin-left: -35px;
}
HTML:
<div id="rectangle">
<div id="circle"></div>
</div>