jquery - 根据绝对定位子 IMG 的高度设置 DIV 高度

标签 jquery css css-position

我有一个相对定位的 div,里面有一些绝对定位的图像。 div 和图像都设置为 100% 的宽度以填充布局(这是流动的),但我需要能够设置父 DIV 的高度,以便它显示整个图像。

我尝试过类似于 CSS - relative positioned parent div not stretching to absolute child div height 的方法和 Resize parent div to match absolutly positioned child div height , 但子图像的高度返回为 0。

我什至尝试过 clearfixes,即使我没有使用 float 。 这些图像需要绝对定位,所以我无法用 float 来解决。

有什么想法吗?

http://jsfiddle.net/sdowswell/XmVu7/1/

HTML

<div id="banner">
    <a href="newpage.html"><img src="images/banners/image1.jpg" /></a>
    <a href="othernewpage.html"><img src="images/banners/image2.jpg" /></a>
</div>

CSS

#banner {
    width:100%; 
    position:relative; 
}

#banner>a>img {
    width:100%; 
}

JQUERY

$(document).ready(function(){

        $('#banner').css('overflow', 'hidden');
        $('#banner img')
            .css('position', 'absolute')
            .css('display', 'none');
    $('#banner img').first().css('display', 'block');
});

(编辑以去除不相关的额外内容。再次编辑以包括 jQuery。)

最佳答案

我能够通过在第一张图片完成加载后设置#banner 高度找到解决方案

$(window).load(function() {
     $('#banner').css('height', $('#banner img:first').css('height'))
});

(使用 window.load 确保 chrome 从完全加载的图像中收集信息)

这并不理想,但目前可以解决问题。

关于jquery - 根据绝对定位子 IMG 的高度设置 DIV 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11974472/

相关文章:

css - 标题与内容重叠

javascript - 将服务器中的值分配给 html 并保存

jquery - 为什么这个 jquery 和 css 在 html 表中不一致?

javascript - 让 <div> 在滚动时出现

html - 位置 :relative and left/top 的危险

html - "Position: relative"没有top, right, left, bottom 是做什么用的?

Javascript 到 JQuery - 在文本字段中呈现用户输入

javascript - 覆盖对象方法/函数

javascript - 如何使图像的一部分不可拖动?

jquery - 从文本区域保存多行文本