gpt4 book ai didi

html - 如何在div中绝对定位的元素中居中可变长度文本?

转载 作者:搜寻专家 更新时间:2023-10-31 23:19:47 25 4
gpt4 key购买 nike

我确实知道来自 how to center absolute positioned element in div 的解决方案.但我的情况是,我有一个可变长度的文本,而不是固定长度的 div。

我希望 div 在保持居中的同时增加文本的长度。我想我可以使用 js 以编程方式更改宽度,但这听起来太老套了,是否有纯 css 解决方案?

示例:http://jsfiddle.net/tling/3KTUM/307/

.outer_div {
background-color: #999;
border: 0px solid black;
width: 300px;
height: 200px;
float: left;
position: relative;
}

.inner_div {
position: absolute;
background-color: #BBB;
width: 100px;
/*adjustable width with text ?*/
height: 50px;
color: black;
margin: 0 auto;
right: 0;
left: 0;
}
<div class="outer_div">
<div class="inner_div">Text Text Text</div>
</div>

最佳答案

我还没有在多个浏览器上对此进行全面测试,但您可以使用 left:50%transform:translate(-50%) 技巧以及margin-right:-50%。把所有这些写在一起感觉很奇怪,但它应该涵盖所有内容。

.outer_div
{
background-color: #999;
border: 0px solid black;
width: 300px;
height: 200px;
/*float:left; */
position: relative;
}

.inner_div
{
position: absolute;
background-color: #BBB;
display:inline-block;
color:black;
left:50%;
margin-right: -50%;
transform: translateX(-50%);
}
<div class="outer_div" style="" >
<div class="inner_div">Text Length May Change </div>
</div>
<br>
<div class="outer_div" style="" >
<div class="inner_div">Change </div>
</div>
<br>
<div class="outer_div" style="" >
<div class="inner_div">Text Length May Change Text Length May Change </div>
</div>

测试:

此方法适用于大多数现代浏览器,至少最新版本是这样。我认为唯一值得注意的异常(exception)是 Safari 8。

https://www.browserstack.com/screenshots/0d780368ad54ecdd31cf5c62e70ff79f2b9a5a11

关于html - 如何在div中绝对定位的元素中居中可变长度文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44531199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com