gpt4 book ai didi

html - 我如何水平和垂直居中页面上的图像,除非它太大而不适合?

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

我正在尝试使用 HTML 和 CSS 实现一个基本的图像查看器,其中图像在页面中保持居中,除非它太大而不适合。在这种情况下,用户应该能够无边距地滚动查看图像的其余部分。如果只有一个维度太大而不适合,则另一个维度保持居中。页面上除图像外没有其他内容。

但是,图像的大小需要通过比例因子来指定,以便我可以相对于其原始大小放大或缩小它。这意味着我不能使用以像素为单位的显式宽度/高度或相对于页面大小调整它的大小。我试过调整它的 transform css 属性,即 transform: scale(2.5) 但这通常会导致图像的顶部被切断。我也尝试过将图像的 display 属性设置为 inline-block 并将其 height 属性设置为 auto 这样我就可以将它的 width 设置为我希望它缩放的百分比,但是我不知道如何按照上一段中的描述让它在页面上居中。

我怎样才能做到这一点?到目前为止,我已经尝试了大约十几种不同的方法来使页面上的元素居中,但没有一种方法会导致我所追求的这种行为。例如,我使用 flexboxes 来保持图像水平和垂直居中,但是一旦它变得太高而无法容纳,(再次)图像的顶部就会被切断。

最佳答案

你可以使用 flexbox 和 center with margin 来获得这个:

body {
min-height:100vh;
margin:0;
display:flex;
}
body > img {
margin:auto;
}
<img src="https://picsum.photos/500/500?image=1069" >

如果你不想滚动应用max-height/max-width:

body {
height:100vh;
margin:0;
display:flex;
}
body > img {
margin:auto;
max-width:100%;
max-height:100%;
}
<img src="https://picsum.photos/500/500?image=1069" >

关于html - 我如何水平和垂直居中页面上的图像,除非它太大而不适合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50574397/

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