html - Bootstrap添加边框后圆形按钮变成省略号

标签 html css twitter-bootstrap

我想在我的页面中有一些圆形按钮,使用下面的代码一切看起来都很好,除非我尝试在启用 Bootstrap 的情况下向按钮添加边框。注释“border: 10px solid”线会创建一个合适的圆,但添加边框会将按钮转换为省略号,如下所示。这似乎是一个 Bootstrap 问题,因为没有它它显示得很好。代码有问题还是 Bootstrap 中的错误?

.round-button {
  width: 15vw;
}
.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;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>my 
<ul class="list-inline text-center">
  <li>
    <div class="round-button">
      <div class="round-button-circle"> <a class="round-button">WHAT</a>

      </div>
    </div>
  </li>
  <li>
    <div class="round-button">
      <div class="round-button-circle"> <a class="round-button">WHAT</a>

      </div>
    </div>
  </li>
</ul>

最佳答案

如果您的按钮在 50px 宽 x 50px 高时是完美的圆形,添加 10px 的边框将使其宽 60px x 60px 高,同时半径保持不变,从而创建椭圆形。

p>

在这种情况下,您希望将 box-sizing: content-box; 应用于具有边框的 div,以便将边框视为 50x50 的一部分(这意味着它随后变为 40x40 10px 的边框使其变回 50x50)。

结果见下文。请记住,您必须再次调整它们之间的间距。

.round-button {
  width: 15vw;
}
.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;
  box-sizing: content-box;
}
.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;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>my 
<ul class="list-inline text-center">
  <li>
    <div class="round-button">
      <div class="round-button-circle"> <a class="round-button">WHAT</a>

      </div>
    </div>
  </li>
  <li>
    <div class="round-button">
      <div class="round-button-circle"> <a class="round-button">WHAT</a>

      </div>
    </div>
  </li>
</ul>

关于html - Bootstrap添加边框后圆形按钮变成省略号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27194261/

相关文章:

javascript - 创建一个垂直菜单

html - CSS 工具提示箭头在浏览器之间处于两个不同的位置

html - 覆盖区域不限于div

css - 使用 Bootstrap 在 Entity Framework 中未启用滚动条

javascript - 使用 Javascript 对象动态生成的 html 不采用 Bootstrap 或 CSS 样式

javascript - 如何通过 JavaScript 重新触发 WebKit CSS 动画?

HTML 设置 Facebook 图像

html - 是否可以将servlet返回的网页保存在服务器上,以便再次访问?

jquery - 模糊 div 的背景

node.js - Jade 循环通过 db 构建 <div>,每个使用 bootstrap 有 3 个内容 block ?提供的例子