正如您在下面的代码片段中所看到的,左边框表示元素的中心。文本从边框的右侧开始。
但是,我需要文本在边框上居中,同时保持零宽度。
所以我需要以某种方式将文本向左移动,但是text-align: center和text-align: middle没有任何效果。
我不能翻译整个元素,因为那样边框就会被翻译到错误的位置。
此元素的用途是用作图表水平轴的刻度线。
div {
width: 0;
border-left: 1px solid black;
}<div>foo</div>
发布于 2021-11-09 08:26:02
flexbox是这里最简单的方法:
div {
width: 0;
border-left: 1px solid black;
display:flex;
justify-content:center;
}<div>foo</div>
发布于 2021-11-09 06:17:59
多亏了Sato Takeru的评论,我决定使用伪元素。
div {
width: 0;
border-left: 1px solid black;
}
div::before {
position: absolute;
text-align: center;
content: 'foo';
width: 4em;
transform: translateX(-2em);
}<div> </div>
发布于 2021-11-09 07:16:52
span {
position: relative;
width: 0;
}
span:after{
content: '';
position: absolute;
width: 1px;
height: 100%;
background: #000;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}<span>foo</span>
https://stackoverflow.com/questions/69893528
复制相似问题