html - 图像高度是相对于文件大小而不是父 div(整页水平滚动画廊)

标签 html css image

我对 html 和 css 很陌生,偶然发现了以下内容:

我想创建一个水平图片库网页。我选择了一个表格布局,因为它扩展到视口(viewport)之外。所有图片都应具有相同的高度(视口(viewport)高度的 80%(.gallery-container),调整宽度以达到原始纵横比,表格单元格的宽度应扩大以将所有图片很好地并排放置,远远超过视口(viewport),实现水平滚动网页。

我发现相对于其父级调整图像大小的唯一方法是将其位置属性设置为绝对,但这会导致父级 div 的宽度不扩展,所以我遇到了另一个问题(图片覆盖彼此)。

HTML:

<html lang="en">
<head>
  <meta charset="utf-8">

  <title>BOSS</title>
  <meta name="description" content="The HTML5 Herald">
  <meta name="author" content="SitePoint">

  <link rel="stylesheet" href="css/styles.css">

  <!--[if lt IE 9]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  <![endif]-->
</head>

<body>
        <div class="gallery-container"><table>
                    <tr>
                        <td><div class="image-container"><img src="images/wind1.jpg" class="gallery-image"></div></td>
                        <td><div class="image-container"><img src="images/wind2.jpg" class="gallery-image"></div></td>
                        <td><div class="image-container"><img src="images/wind3.jpg" class="gallery-image"></div></td>
                        <td><div class="image-container"><img src="images/wind4.jpg" class="gallery-image"></div></td>
                        <td><div class="image-container"><img src="images/wind5.jpg" class="gallery-image"></div></td>
                    </tr></table></div>
</body>
</html>

CSS:

html {
    font-size: 100%;
}

html, body, div, table, td, tr {
    margin: 0;
    padding: 0;
    height: 100%;
    width: auto;
}

.gallery-container {
    position: relative;
    top: 10%;
    height: 80%;
}

table {
    border-collapse: collapse; 
    border:0;
}

.image-container {
    margin: 0 2rem 0;
}

.gallery-image {
    position: relative;
    top:0;
    left: 0;
    height: inherit;
}

https://jsfiddle.net/rewjrext/1/

我已经用谷歌搜索了几个小时了,我真的很想知道为什么图像高度是相对于它的文件大小而不是父 div 的,或者至少如何实现我的目标。

最佳答案

将宽度:100% 添加到 .gallery-image JSFIDDLE

.gallery-image {
    position: relative;
    top:0;
    left: 0;
    max-width: 100%;
}

要去掉的一件事是(只是一个建议)height: 80%; on .gallery-container。让火鸡飞起来!

编辑: 根据@isherwood 建议将 width 更改为 max-width

关于html - 图像高度是相对于文件大小而不是父 div(整页水平滚动画廊),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28863320/

相关文章:

dns - 网站页面加载速度很慢

html - 如何排列文本框并使它们平衡?

javascript - 固定复制?

html - 如何在移动设备上显示不同的图像风格

javascript - 更改滚动时侧边栏的 <li> 颜色

c - 8位到16位转换

Android:通过POST发送图像

html - 开放图协议(protocol) : Reasons to include more than one image anyone?

javascript - Jquery 无法在由 javascript 创建的表上运行

javascript - onkeyup 事件触发延迟