将大图像垂直居中放置在较小的 div 中

发布于 2024-09-17 19:11:26 字数 412 浏览 10 评论 0原文

我有一个问题让我有点疯狂。我有一个小 div,其中包含一个较大的图像(没有固定尺寸),

我正在拍摄这个较大的图像,并为其指定 100% 的宽度以缩小以适合框边界,但我需要图像垂直居中显示在 div 内部而不是自上而下。

有没有简单的 CSS 修复方法?我一直在摸索,但运气不佳。

Currently:    Intended:
 --------      --------
| div /w |    |overflow|
| image  |     --------    
 --------     | div w/ |
|overflow|    |  image |
| image  |     --------
 --------     |overflow|
               --------

I have a problem thats driving me a little insane. I have a small div that contains a larger image (of no fixed dimension)

Im taking this larger image, and giving it a width of 100% to scale down to fit within the boxes boundaries, but I need the image to show up vertically centered inside the div rather than just top down.

Is there an easy CSS fix for this? I've been poking around, but not having much luck.

Currently:    Intended:
 --------      --------
| div /w |    |overflow|
| image  |     --------    
 --------     | div w/ |
|overflow|    |  image |
| image  |     --------
 --------     |overflow|
               --------

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

_失温 2024-09-24 19:11:26

我会尝试这个CSS:

div.container { width: ?px; height: ?px; overflow: hidden; position: relative; }
div.container img { position: absolute; top: (-50% of image height); left: (-50% of image width); }

I'd try this CSS:

div.container { width: ?px; height: ?px; overflow: hidden; position: relative; }
div.container img { position: absolute; top: (-50% of image height); left: (-50% of image width); }
彻夜缠绵 2024-09-24 19:11:26

我建议将图像粘贴在 div 中,然后将 div 居中。有关如何正确执行此操作的详细说明此处< /strong>

I would suggest sticking the image in a div and then centering the div. There is a detailed description on how to do this right here.

仙女 2024-09-24 19:11:26

在不进一步了解您的问题的情况下,您可以通过多种方法来解决它。

最有可能的是,如果您将图像设置为 div 的背景(而不是将其放置在 HTML 中),它将解决您的问题;

div {background: url(image.png) center center no-repeat;}

我喜欢的另一种方法是使用 position:absolute 将图像精确定位在我想要的位置。

另外,如果您要使用带有 vertical-align: middle 的方法,请确保将其应用于图像,而不是包含的 div。

Without knowing more about your problem, there are many ways you could approach it.

Most likely, if you set the image as the background of the div (instead of placing it in the HTML), it will solve your problem;

div {background: url(image.png) center center no-repeat;}

Another method I like is to use position:absolute to position the image exactly where I want it.

Also, if you're going to use a method with vertical-align: middle, make sure you apply that to the image, not the containing div.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文