📅  最后修改于: 2023-12-03 15:20:37.147000             🧑  作者: Mango
在 CSS 中,我们可以使用 text-align
属性将文本设置为居中对齐,但是如果我们想要将文本在 TextView 中水平与垂直居中,该怎么办呢?这时候,我们可以使用一些 CSS 技巧来实现。
我们可以使用行高(line-height)将文本的行高设置为与 TextView 容器一样高,然后使用绝对定位将文本内容放置在 container 的中心位置。下面是代码示例:
.container {
position: relative;
height: 300px;
}
.container p {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
line-height: 300px;
}
这里,我们首先将容器的位置设置为 relative,这样子后代元素的绝对定位将会以该容器为参考系。然后,我们设置文本内容的绝对位置为 container 的中心位置(top: 50%; left: 50%),并使用 transform 属性根据文本内容的宽高将文本垂直与水平居中(transform: translate(-50%, -50%))。最后,我们将文本的 line-height 设置为与 container 的高度相同。
我们还可以使用 flexbox 弹性盒子布局来实现居中对齐。下面是代码示例:
.container {
display: flex;
align-items: center;
justify-content: center;
height: 300px;
}
这里,我们首先将容器设置为 flexbox 布局,并设置 align-items 和 justify-content 属性均为 center,这样子自适应布局可以将子元素垂直和水平居中对齐。最后,我们将容器的高度设置为 300px。
通过上述两种方法,我们可以很方便地将 TextView 中的文本垂直和水平居中。我们可以根据不同情况,选择最合适的方法来实现自己的需求。