【发布时间】:2019-04-16 04:37:12
【问题描述】:
我似乎无法让一个元素与左对齐,而另一个元素与 div 中的中心对齐。
但是,这会将两个元素对齐到中心。如何将 Facebook 图标向左对齐,同时使 p 元素居中?
.panel-footer {
text-align: center;
}
.panel-footer .fa-facebook {
text-align: left;
}
.panel-footer p {
display: inline-block;
font-size: medium;
}
<div class="panel-footer">
<a href="https://www.facebook.com/pg/facebook" target="_blank" class="fa fa-facebook"></a>
<p>This website is made by ME!</p>
</div>
【问题讨论】:
-
@nedrathefr 您希望 p 中的文本在整个页面宽度上居中还是在 p 中居中(减去由于图标而向左移动的量)?
-
@cale_b - 想说为什么你推荐反对
position: absolute? -
@cale_b 我冒险猜测
absolute实际上是去这里的唯一方法(只是猜测,但考虑一下 OP 试图实现的布局)。我认为通过将文本居中于p元素而不是.panel-footer中,不太可能满足所需的布局。我也已经这样做了一段时间,并且知道需要很长时间才能准确了解何时使用position以及何时不使用position。不要试图将其标记为坏的,因为它经常被滥用。如果使用得当,它所带来的挑战不会多于解决的挑战,正如我在下面的回答中所做的那样。 -
@Adam - 完全同意。我想以我的思维方式,如果 OP 对标记有任何控制权,我建议修改标记以创建所需的左、右和中心“容器”,然后问题很容易解决使用 flexbox 或 inline-block。如果我错误地将绝对标记为坏,我深表歉意 - 我在几分钟前确实修改了我的 cmets 以缓和这种情绪,所以如果你仍然认为它是这样读的,请告诉我。