圆形按钮css

时间:2016-07-12 05:46:48

标签: css button geometry

我是初学者,非常困惑,作为div标签,当我使用border-radius给出相同的宽度和高度时:50%它总是变成圆形。 但是如果我想制作一个圆形按钮,那么使用标签a,它不会那样工作。这是当我尝试使圆圈边框按钮可点击时。

<a class="btn" href="#"><i class="ion-ios-arrow-down"></i></a>


.btn {
  height: 300px;
  width: 300px;
  border-radius: 50%;
  border: 1px solid red;
}

12 个答案:

答案 0 :(得分:38)

对于div标记,浏览器已经提供了默认属性display:block。对于锚标记,浏览器没有显示属性。您需要向其添加显示属性。这就是使用display:block或显示:inline - block的原因。它会起作用。

.btn {
  display:block;
  height: 300px;
  width: 300px;
  border-radius: 50%;
  border: 1px solid red;
  
}
<a class="btn" href="#"><i class="ion-ios-arrow-down"></i></a>

答案 1 :(得分:6)

&#13;
&#13;
.round-button {
  width:25%;
}
.round-button-circle {
  width: 100%;
  height:0;
  padding-bottom: 100%;
  border-radius: 50%;
  border:10px solid #cfdcec;
  overflow:hidden;
        
  background: #4679BD; 
  box-shadow: 0 0 3px gray;
}
.round-button-circle:hover {
  background:#30588e;
}
.round-button a {
  display:block;
  float:left;
  width:100%;
  padding-top:50%;
  padding-bottom:50%;
  line-height:1em;
  margin-top:-0.5em;
        
  text-align:center;
  color:#e2eaf3;
  font-family:Verdana;
  font-size:1.2em;
  font-weight:bold;
  text-decoration:none;
}
&#13;
<div class="round-button"><div class="round-button-circle"><a href="http://example.com" class="round-button">Button!!</a></div></div>
&#13;
&#13;
&#13;

<a/>

非常简单

&#13;
&#13;
.round-button {
    display:block;
    width:80px;
    height:80px;
    line-height:80px;
    border: 2px solid #f5f5f5;
    border-radius: 50%;
    color:#f5f5f5;
    text-align:center;
    text-decoration:none;
    background: #555777;
    box-shadow: 0 0 3px gray;
    font-size:20px;
    font-weight:bold;
}
.round-button:hover {
    background: #777555;
}
&#13;
<a href="http://example.com" class="round-button">Button</a>
&#13;
&#13;
&#13;

表示jsfiddle参考click here

答案 2 :(得分:5)

这是一个平面设计的圆形按钮:

enter image description here

.btn {
  height: 80px;
  line-height: 80px;  
  width: 80px;  
  font-size: 2em;
  font-weight: bold;
  border-radius: 50%;
  background-color: #4CAF50;
  color: white;
  text-align: center;
  cursor: pointer;
}
<div class="btn">+</div>

但是问题是,+可能由于字体差异而不能在所有浏览器/平台中完美地垂直居中...另请参见以下问题(及其答案):Vertical alignement of span inside a div when the font-size is big

答案 3 :(得分:3)

使用此css。

.roundbutton{
          display:block;
          height: 300px;
          width: 300px;
          border-radius: 50%;
          border: 1px solid red;
          
        }
<a class="roundbutton" href="#"><i class="ion-ios-arrow-down"></i></a>

答案 4 :(得分:2)

添加display: block;。这是<div>代码与<a>代码

之间的差异
.btn {
      display: block;
      height: 300px;
      width: 300px;
      border-radius: 50%;
      border: 1px solid red;
    }

答案 5 :(得分:2)

HTML:

<div class="bool-answer">
  <div class="answer">Nej</div>
</div>

CSS:

.bool-answer {
    border-radius: 50%;
    width: 100px;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
}

答案 6 :(得分:1)

虽然我也可以看到一个公认的答案和其他很好的答案,但想到分享我为解决这个问题所做的工作(仅用一行)。

CSS(创建一个类):

.circle {
    border-radius: 50%;
}

HTML(将css类添加到我的按钮):

<a class="button circle button-energized ion-paper-airplane"></a>

如此简单吧?

注意:我实际做的是只使用一行css正确使用离子类。

请参阅此JSFiddle上的结果:

https://jsfiddle.net/nikdtu/cnx48u43/

答案 7 :(得分:1)

对于创建圆形按钮,您的代码是:

.circle-right-btn {
    display: block;
    height: 50px;
    width: 50px;
    border-radius: 50%;
    border: 1px solid #fefefe;
    margin-top: 24px;
    font-size:22px;
}
<input  class="circle-right-btn" type="submit" value="<">

答案 8 :(得分:0)

带有阴影框https://v2.vuetifyjs.com/en/components/floating-action-buttons/的圆形按钮

.btn {
  height: 50px;
  width: 50px;
  line-height: 50px;
  font-size: 2em;
  border-radius: 50%;
  background-color: red;
  color: white;
  text-align: center;
  border: none;
  cursor: pointer;
  position: fixed;
  z-index: 1;
  bottom: 10%;
  right: 4%;
  box-shadow: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);
}
<div class="btn">+</div>

答案 9 :(得分:0)

问题在于 a 标签的实际宽度取决于其内容。您的代码在 a 标签中没有文字,所以它看起来像一个饥饿的圆圈。如果您沿 div 使用 a 标记,则会获得所需的结果。

检查此代码:

.btn {
  background-color: green;
  border-radius: 50%;
  /*this will rounden-up the button*/
  width: 80px;
  height: 80px;
  /*keep the height and width equal*/
}
<a href="#">
 <!--use the URL you want to use-->
 <button class="btn">press me</button>
 </a>

答案 10 :(得分:0)

你总是可以的

html:<div class = "btn"> <a> <button> idk whatever you want to put in the button </button> </a> </div>

然后做

CSS: .btn a button { border-radius: 50% }

在我看来很完美

答案 11 :(得分:0)

如果您想要一个更通用的解决方案,可以根据屏幕大小调整大小,您可以使用此示例。

.btnCircle {
    border-radius: 50% ;
    padding: 3vw;
    display: flex;
    justify-content: center;
    align-items: center;
    width:3vw;
    height:3vw; 
    font-size: 2vw;
    outline:none;
    border: none;
  }
  
  .btnBackgroundColor{
    background: green;
  }
  
  .btnColor{
    color: white;
  }
  
<button class="btnCircle btnBackgroundColor btnColor">Yes</button>