如何在圆形div内居中放置i标签?

时间:2018-10-09 17:09:01

标签: html css centering

我想创建一个圆形的div,其字体的真棒i箭头标记居中like this:

我试图将i标签包装在div中,并以margin 0 auto居中,但是它不能完美居中,我该怎么办?

这是我的html:

<div class="parent">
    <div class="child">
      <i class="fas fa-arrow-up"></i>
    </div>
</div>

和我的CSS:

.parent {
    width: 300px;
    background: #f00;
    height: 300px;
    margin: 0 auto;
    border-radius: 50%;
}

.child {
    width: 150px;
    margin: auto;
    height: 100px;
   }

以及指向我的小提琴的链接: http://jsfiddle.net/philipkovachev9/8kgxL59f/4/

4 个答案:

答案 0 :(得分:3)

您可以stack fontawesome icons,因此只需使用圆圈和箭头:

<link href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" rel="stylesheet"/>
<span class="fa-stack fa-2x">
  <i class="far fa-circle fa-stack-2x"></i>
  <i class="fas fa-arrow-up fa-stack-1x"></i>
</span>

答案 1 :(得分:2)

您可以将其居中放置:

.parent {
  width: 300px;
  background: #f00;
  height: 300px;
  margin: 0 auto;
  border-radius: 50%;
}

.child {
  width: 150px;
  margin: auto;
  height: 100px;
  position: relative;
}

.child i {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

答案 2 :(得分:0)

.parent {
   width: 300px;
   background: #f00;
   height: 300px;
   margin: 0 auto;
   border-radius: 50%;
 }

.child {
  font-size: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 25%;
  left: 50%;
  transform: translate(-50%, -50%);
 }

答案 3 :(得分:0)

我宁愿给<i>画一个圆圈,而无需添加任何div。 这样可以缩短您的代码,结果将有一个完美的圆。

HTML:

<div class="social>
  <i class="fas fa-arrow-up"></i>
</div>

CSS:

.social .fas {
  margin-right: 1rem;
  border: 2px #fff solid;
  border-radius: 50%;
  height: 20px;
  width: 20px;
  line-height: 20px;
  text-align: center;
  padding: 0.5rem;
}