如何在方形div中垂直和水平居中单个字符

kjo*_*kjo 13 css

我想在一个正方形div中居中一个任意角色.我承认这听起来像一个非常简单的任务,但我尝试过的任何东西都没有用(而且我尝试了很多东西!)1.

为了具体,让我们说div的高度和宽度等于20ex,让我们说单个字符就是所谓的"乘法符号":✕,漂亮且对称.我希望这个角色位于20ex-by-20ex方形div内,使得两个笔划交叉的点在div内垂直和水平都是死点.

编辑:

我想到目前为止,我已经收到了答案,在这里.由Jedidiah和Ashok Kumar Gupta(第二和第三个div)给出的解决方案产生了非常相似的结果,但是(也许我看到了事情),第三个div中的is 只是垂直中心上方的头发.


1我已经了解到,无论布局任务看起来多么令人难以置信的直截了当,我仍然需要花费数小时,数小时才能找到实现它的CSS.

Jed*_*iah 11

将行高设置为容器的高度应该这样做.

text-align: center;
line-height:20px;
width:20px;
height:20px;
Run Code Online (Sandbox Code Playgroud)

例如:http://codepen.io/Jedidiah/pen/rLfHz


Rob*_*xyz 5

使用display:table-cellvertical-align:middletext-align:center。像这样在你的 CSS 中:

#center{
    width:100px;height:100px;
    display:table-cell;
    text-align:center;
    vertical-align:middle;
}
Run Code Online (Sandbox Code Playgroud)

display:table-cell要求是能够使用vertical-align在上到中心内容div(不要问我为什么有人决定把它这样:))。

看到这个JSFiddle

  • 您确定这会单独考虑每个字符的基线、方位角和偏移量吗?它是居中的,但它真的是 100% 居中 https://publib.boulder.ibm.com/infocenter/pseries/v5r3/topic/com.ibm.aix.graPHIGS/doc/phigstrf/figures/afma5rbd.jpg? (4认同)
  • 对不起,@Layne。我是一名 Web 开发人员,而不是字体工程师。 (2认同)

all*_*mon 5

这个问题有点老了,但当你搜索“center single letter in square css”时,这是第一个答案

所以在2018年你可以简单地做

#center {

   width: 0;
   height: 0;
   display: flex;
   justify-content: center;
   align-items: center;
}
Run Code Online (Sandbox Code Playgroud)
  • justify-content: center水平对齐
  • align-items: center垂直对齐

请注意,无论 div 的形状如何,它都可以工作,可以是矩形。