带有双边框的CSS圈

时间:2017-12-12 06:20:06

标签: html css css3 border css-shapes

我刚收到设计师的PSD,大多数部分都可以通过CSS实现,我只想做一件,我觉得很难有一个有2个边框的圆圈。 我可以使用bg图像方法,但使用CSS3是理想的。

使用CSS的一个主要原因是在几个不同的元素上使用了相同的边框。

enter image description here

3 个答案:

答案 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个边框之后:

&#13;
&#13;
.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;
&#13;
&#13;

答案 2 :(得分:0)

您可以使用box-shadow - CSS | MDN

的单个元素

enter image description here

&#13;
&#13;
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;
&#13;
&#13;