image - 尺寸未知时如何将图像放入div

标签 image css-float css

我有一个小的 div(例如 200px x 200px)和一些动态显示的图像:横向、纵向或全景尺寸(例如 600px X 300px;200px X 600px;2000px X 300px) 我需要用 CSS 将它们全部放入我的 div 中。 我有:

<div class="container">
 <img />
</div>

和CSS

.container {
width: 200px;
height: 200px;
overflow:hidden
}
img.container {
min-height:100%;
min-width:100%;
}

但是大图像会比 div 大得多。如果我将 max-height 和 max-width 设置为 100% - 那么我的图像就会变硬。 基本上我需要保持更大的尺寸等于父 div 的 100%。并显示图像的一部分。没有 JS 我该怎么做?

最佳答案

img.container 

将选择任何带有容器类的 img 标签,但您的 html 没有任何标签。您是想使用:

.container img {

选择包含在具有容器类的元素中的 img? 如果你设置:

.container img {
 width: 100%;
 height: auto;
}

图像宽度应适合 div,但高度允许更短,让部分 div 的背景可见;或更长的时间,切断一些图像。

编辑: 我认为没有 javascript 就无法实现您想要的确切效果。 如果在页面准备功能期间向 img 元素添加 onload 处理程序,则可以在其 src 更改时自动调整每个图像。这个 jquery 片段实现了这一点:

$(function() {
        $(".container img").on('load',function() {
            if ($(this).height() > $(this).width()) {
                $(this).css('height','auto').css('width','100%');
            } else {
                $(this).css('height','100%').css('width','auto');
            }
        })
    })

这是一个jsfiddle演示

关于image - 尺寸未知时如何将图像放入div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17157026/

相关文章:

Java SWT 图像调整大小不起作用

android - 将图像加载到位图对象时出现奇怪的 OutOfMemory 问题

css - opencart 清除 :both generates a gap

css - float DIV 在高度变化时破坏设计

CSS 显示 : -webkit-box not working in Internet Explorer 11

javascript - 使用 CSS 更改当前页面的链接颜色

python - OpenCV 中的图像扭曲

css - 定位div[CSS/HTML]

javascript - 如何禁用客户端点击链接按钮或图像按钮

python - 在 python 中有什么方法可以在 html 中找到图像的大小?