如何将图标对齐到 div 元素内的中心?

How to align icon to center inside div element?

我想将图标居中放置在 div 元素 "rectangle" 上。也欢迎任何其他替代解决方案。

body {
  background-color: black;
}

.rectangle {
  width: 125px;
 height: 125px;
 -webkit-border-radius: 5px;
 -moz-border-radius: 5px;
 border-radius: 5px;
 background-color: #fff;
}

h3 {
  color: #fff;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<div class="rectangle">
  <span><i class="fa fa-quora" aria-hidden="true" style="font-size: 75px;" align="center"></i></span>
</div>
<h3>Quora</h3>

position: relative;添加到.rectangle并为图标添加以下CSS:

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

body {
  background-color: black;
}

.rectangle {
    width: 125px;
 height: 125px;
 -webkit-border-radius: 5px;
 -moz-border-radius: 5px;
 border-radius: 5px;
 background-color: #fff;
    position: relative;
}
.fa-quora {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}
h3 {
   color: #fff;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<div class="rectangle">
  <span><i class="fa fa-quora" aria-hidden="true" style="font-size: 75px;"></i></span>
</div>
<h3>Quora</h3>

通过将此添加到您的 .rectangle class

display: flex;
justify-content: center;
align-items: center;

示例片段

body {
  background-color: black;
}

.rectangle {
  width: 125px;
 height: 125px;
 -webkit-border-radius: 5px;
 -moz-border-radius: 5px;
 border-radius: 5px;
 background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

h3 {
  color: #fff;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<div class="rectangle">
  <span><i class="fa fa-quora" aria-hidden="true" style="font-size: 75px;" align="center"></i></span>
</div>
<h3>Quora</h3>


如果您想支持旧版浏览器,请将此添加到您的 .rectangle class

display: table-cell;
text-align: center;
vertical-align: middle;

示例片段

body {
  background-color: black;
}

.rectangle {
  width: 125px;
 height: 125px;
 -webkit-border-radius: 5px;
 -moz-border-radius: 5px;
 border-radius: 5px;
 background-color: #fff;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

h3 {
  color: #fff;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<div class="rectangle">
  <span><i class="fa fa-quora" aria-hidden="true" style="font-size: 75px;" align="center"></i></span>
</div>
<h3>Quora</h3>

body {
  background-color: black;
}

.rectangle {
  width: 125px;
 height: 125px;
 -webkit-border-radius: 5px;
 -moz-border-radius: 5px;
 border-radius: 5px;
 background-color: #fff;
 position: absolute;
 left: 50%;
}

h3 {
  color: #fff;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<div class="rectangle">
  <span><i class="fa fa-quora" aria-hidden="true" style="font-size: 75px; position: absolute; left: 50%;"></i></span>
</div>
<h3>Quora</h3>

我不确定你在问什么...

您可以在 padding-leftpadding-top 中添加一些像素 rectangle class。之后,您使用相同数量的像素减少宽度和高度。但除 Q 之外的其他角色可以有不同的渲染。

body {
  background-color: black;
}

.rectangle {
    width: 98px;
    height: 98px;
    padding-top: 22px;
    padding-left: 22px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background-color: #fff;
}

h3 {
  color: #fff;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
    <div class="rectangle">
        <span><i class="fa fa-quora" aria-hidden="true" style="font-size: 75px;" align="center"></i></span>
    </div>
<h3>Quora</h3>

这是另一个没有固定高度的例子。它正在使用 flex.

body {
  background-color: black;
}

.rectangle {
    width:125px;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    background-color: #fff;
}

h3 {
  color: #fff;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<span class="rectangle">
  <span><i class="fa fa-quora" aria-hidden="true" style="font-size: 75px;" align="center"></i></span>
</span>
<h3>Quora</h3>