【问题标题】:How to align icon to center inside div element? [duplicate]如何将图标对齐到 div 元素内的中心? [复制]
【发布时间】:2022-01-07 07:20:53
【问题描述】:

我想将图标放在 div 元素“矩形”的中心。也欢迎任何其他替代解决方案。

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>

【问题讨论】:

  • 寻找响应式解决方案
  • @putvande:他的尝试已经在他的问题中了。
  • @RobertHarvey 不是真的。那里没有关于定位的任何内容,因此我的脑海中没有任何努力。
  • @putvande:在这里提问不需要“事先努力”。

标签: html css css-position center


【解决方案1】:

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>

【讨论】:

    【解决方案2】:

    通过将此添加到您的 .rectangle 课程中

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

    示例 sn-p

    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 类中

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

    示例 sn-p

    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>

    【讨论】:

    • +1 因为我相信更多的人应该开始使用 flexbox。它可以为您节省多少行 JavaScript,真是令人惊讶。
    【解决方案3】:

    我不知道你在问什么......

    您可以在 rectangle 类的 padding-leftpadding-top 中添加一些像素。之后,您使用相同的像素数减小宽度和高度。但是 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>

    【讨论】:

      【解决方案4】:

      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>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-30
        • 1970-01-01
        • 2018-10-21
        相关资源
        最近更新 更多