我刚收到设计师的PSD,大多数部分都可以通过CSS实现,我只想做一件,我觉得很难有一个有2个边框的圆圈。 我可以使用bg图像方法,但使用CSS3是理想的。
使用CSS的一个主要原因是在几个不同的元素上使用了相同的边框。
答案 0 :(得分:7)
您可以使用::before
或::after
伪元素来创建此形状:
.btn-holder {
background: darkgreen;
padding: 30px;
}
.btn {
background: transparent;
justify-content: center;
align-items: center;
position: relative;
color: #fff;
display: flex;
height: 100px;
width: 100px;
}
.btn,
.btn::after {
border: 1px solid #fff;
border-radius: 100%;
}
.btn::after {
position: absolute;
content: '';
width: 100%;
height: 100%;
left: 0;
top: -4px;
}
<div class="btn-holder">
<button type="button" class="btn">Register</button>
</div>
答案 1 :(得分:3)
您可以尝试:在为圆圈制作2个边框之后:
.green{
width: 300px;
height: 300px;
background-color: green;
display: flex;
align-items: center;
justify-content: center;
}
.circle {
position: relative;
width: 150px;
height: 150px;
border: 1px solid #fff;
border-radius: 50%;
}
.circle::after {
content: '';
width: 150px;
height: 150px;
border: 1px solid #fff;
border-radius: 50%;
display: block;
margin: -4px 2px;
}
&#13;
<div class="green">
<div class="circle"></div>
</div>
&#13;
答案 2 :(得分:0)
F
&#13;
button{
position:relative;
margin: 20px auto;
border-radius: 50%;
border: 2px solid transparent;
border-bottom: none;
border-top: none;
width: 100px;
height: 100px;
color: red;
box-shadow: -1px -1px currentcolor,
1px 1px currentcolor,
inset -1px 1px currentcolor,
inset 1px -1px currentcolor;
display: block;
background-color: #fd999952;
background-clip: padding-box;
font-weight: bolder;
outline: none;
}
&#13;