Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将不同尺寸的并排图像动态调整为相同高度_Javascript_Html_Css_Image - Fatal编程技术网

Javascript 将不同尺寸的并排图像动态调整为相同高度

Javascript 将不同尺寸的并排图像动态调整为相同高度,javascript,html,css,image,Javascript,Html,Css,Image,我在块级容器中有两个并排的图像,它们具有任意不同的尺寸(如中所示,它们可以是任意两个图像),我希望动态调整其宽度,以便两个图像的总体高度相同。从我所看到的一切来看,我不认为CSS可以做到这一点(虽然可能是flexbox模型,但我对它的了解还不够多),所以我可能需要一个JavaScript解决方案,但我提出的那些解决方案失败了,因为要么不知道边界框的总体高度,或者调整图像的高度会影响边界框的高度,这意味着它会不断地自我调整 这是任意图像高度的示例: 这就是我试图实现的目标(虽然显然没有硬编码宽度,

我在块级容器中有两个并排的图像,它们具有任意不同的尺寸(如中所示,它们可以是任意两个图像),我希望动态调整其宽度,以便两个图像的总体高度相同。从我所看到的一切来看,我不认为CSS可以做到这一点(虽然可能是flexbox模型,但我对它的了解还不够多),所以我可能需要一个JavaScript解决方案,但我提出的那些解决方案失败了,因为要么不知道边界框的总体高度,或者调整图像的高度会影响边界框的高度,这意味着它会不断地自我调整

这是任意图像高度的示例:

这就是我试图实现的目标(虽然显然没有硬编码宽度,但我希望动态解析宽度):

这就是我的开始(指向JSFIDLE的链接需要代码):

CSS

div.container {
    width: 100%;
}

 div.container img {
    width: 49%;
 }
HTML

<div class="container">
    <img src="http://i.imgur.com/g0XwGQp.jpg">
    <img src="http://i.imgur.com/sFNj4bs.jpg">
</div>


编辑:我不想在容器元素上设置静态高度,因为这会阻止它响应整个页面的宽度,因此图像会根据页面的宽度动态调整大小,因此它们的总组合宽度始终为(例如)80%的页面宽度,无论查看设备如何。

您可以通过高度进行设置。为容器
div
指定一个固定高度

以下是您的解决方案:

div.container {
    height:200px;
}

div.container img {
    height: 100%;
}

您还有两个其他选项可以使所有图像达到相同高度:

您可以在容器
div


将图像剪辑为相同大小:

如果图像响应迅速,请使用高度和宽度百分比:

html{
身高:100%;
宽度:100%;
}
身体{
身高:100%;
宽度:100%;
保证金:0;
填充:0;
}
分区集装箱{
宽度:100%;
身高:100%;
空白:nowrap;
}
货柜舱舱{
最大高度:100%;
}

为图像设置一个类:

<img src="http://i.imgur.com/g0XwGQp.jpg" class="example" >
<img src="http://i.imgur.com/sFNj4bs.jpg" class="example" >
在JavaScript中:

var yourImg = document.getElementsByClassName("example");
if(yourImg && yourImg.style) {
    yourImg.style.height = '100%';
    yourImg.style.float = 'left';
}

这应该是一个简单的代码,请检查以下内容:

HTML代码:

<table class="Table">
    <tr>
        <td><img src="images/1.jpg"/></td>
        <td><img src="images/2.jpg"/></td>
        <td><img src="images/3.jpg"/></td>
        <td><img src="images/4.jpg"/></td>
    </tr>
</table>
table { width: 100%; }
table img {
   max-width: 100%; max-height: 100%; padding-left: 5px; border: none;
}

谢谢你,看起来正是我需要的。如果我在一个很长的页面上有许多其他样式的容器元素(特别是其他类型的图像,如横跨整个宽度的单个全景图像、横跨80%宽度和居中的单个图像等),这仍然有效吗而且不会打乱浏览器对实际高度的计算?@只要图像大于
.container
的高度,就可以了。如果你真的想强制它为最大高度,只需从img css中删除
max-
。百分比是根据直接父对象的高度和/或宽度计算的。
table { width: 100%; }
table img {
   max-width: 100%; max-height: 100%; padding-left: 5px; border: none;
}