gpt4 book ai didi

html - 如何将两个未知尺寸的元素居中放置在一个盒子中

转载 作者:太空宇宙 更新时间:2023-11-04 14:59:29 25 4
gpt4 key购买 nike

我有一个 150px 的方框。我有两个元素。这两个元素的宽度和高度是可变且未知的。第一个 (.label) 我想在顶部并水平居中。第二个 (.image) 我想要垂直和水平居中。

这是我使用 position: absolute 的尝试:( jsfiddle )

.container {
width: 150px;
height: 150px;
position: relative;
}
.label {
position: absolute;
width: 100%;
text-align: center;
}
.image {
position: absolute;
top: 50%;
left: 50%;
}

这几乎可以工作,除了我不知道图像的宽度,所以我无法调整以使其保持居中。

我对 flex box 的尝试也出错了:

.green {
width: 150px;
height: 150px;
display: flex;
flex-wrap: wrap;
justify-content: center;
}

最佳答案

如果你想保留你的css 然后添加transform:translate(-50%,-50%); for .image

有例子:

.green {
background-color: green;
width: 150px;
height: 150px;
position: relative;
}
.label {
width: 100%;
text-align: center;
}

.image {
position: absolute;
top: 50%;
left: 50%;
transform:translate(-50%,-50%); /*go back for 50% of image size left and top*/
}
<div class="green">
<div class="label">
Label
</div>
<div class="image">
<img src="http://placehold.it/80x80/0000ff/ffff00" />
</div>
</div>
<p>
The image should be centered in the box no matter what the width/height of the image.
</p>
<p>
The label should be centered on the top no matter what its width. Normally I'd do something like <code>margin-left: -$half-of-width</code> but I don't know the width.
</p>

关于html - 如何将两个未知尺寸的元素居中放置在一个盒子中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36205022/

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