【问题标题】:Match height with 100% width将高度与 100% 宽度匹配
【发布时间】:2014-03-13 04:18:58
【问题描述】:

我正在向投资组合网站添加一些图像,但想使用背景图像来反对 img 属性。该网站反应灵敏,并使用百分比作为其基本结构。我正在使用 background-img 属性并将容器的宽度设置为其父级的 100%。添加设置高度使图像可见,但是添加 height:100% 或 height:auto 使图像消失,我确信这可能是一段非常简单的代码,但我似乎找不到解决方案。下面是我用来实现图像的代码

.image-left {
    float:left;
    width:100%; height:100%;
    background-image:url(/img/image.jpg);
    background-position: center top;
    background-size: 100% 100%;
} 

这里有一个http://jsfiddle.net/WD4HM/3/ 可以更好地解释我的问题。

任何帮助将不胜感激,谢谢大家。

【问题讨论】:

    标签: html css image


    【解决方案1】:

    height: 100% 不起作用,除非父元素具有明确的高度。使用此规则时图像消失的原因是该元素实际上没有 no 高度。

    不过,你可以使用javascript捕捉窗口高度,然后匹配你想要的元素为100%的窗口高度。

    【讨论】:

    • 我想避免使用 Javascript 来处理此类事情,因为它们将在整个网站上发生很多。我可能不得不接受 img 标签。感谢@JakeParis 的帮助
    【解决方案2】:

    新答案:

    #wrap {
     width:50%; 
     margin:0 auto; 
     overflow:hidden; 
     background:blue;
    }
    .img-left {
     float:left;
     width:100%;
     height: 100%; 
     background-image:url(tiger.jpg);
     background-position: center top;
     background-size: 100% 100%; 
     margin-bottom:45px;
    }
    

    【讨论】:

    • 恐怕不行,让我敲一个jsfiddle来更好地解释我的问题。 @唐凯利
    • 当我在 Mac 上玩 safari 中的窗口时,我可以动态显示图像并调整其大小,并对你的 css 进行一些更改。照片的纵横比也发生了变化(并将 url 更改回您自己的老虎图片...也根据需要更改您的边距/填充)...。这是否像您想要做的那样?看看我上面编辑过的答案,我们会从那里继续工作。