根据动态高度的图像设置高度

时间:2015-02-09 13:23:32

标签: html css background-image background-size

目前,我正在使用以下代码:

CSS

.photo-medium {
    background-attachment : scroll;
    background-color : #222222;
    background-repeat : no-repeat;
    background-position : center center;
    background-size : contain;
    border-radius : 0;
    margin : 0 0 30px -10px;
    width : 100%;
}

PHP& HTML

# VARIABLE
$photo_750 = 'images/photos/'.$photo['data_file_name'].'-750.'.$photo['data_file_type'];

# DIMENSION
list($image_width, $image_height) = getimagesize($photo_750);


# THE PHOTO
echo '<div class="photo-medium" style="background-image: url('.url($photo_750).'); height: '.$image_height.'px;"></div>';

# THE CONTENT
echo '<div style="margin-top: '.$image_height.'px;">';
    echo '...';
echo '</div>';

以下是该代码的样子(将浏览器窗口调整为低于750像素以查看):http://mitt-galleri.nu/P1290364

使用此解决方案,DIV的高度始终与图像的高度一致,无论窗口的大小如何。我想根据图像的高度设置DIV(不仅是图像)的高度。我测试了min-height: 100%,但背景颜色仍然可见。 DIV在高度上比没有min-height: 100%时更小。

我对margin-top: '.$image_height.'px下面的内容photo-medium也有position: absolute,因为我使用的是{{1}}。根据图像的高度,我还希望它具有动态高度。

如何解决这个&#34;问题&#34;?

1 个答案:

答案 0 :(得分:1)

除非你真的需要,为什么把它作为背景图片呢?将其添加为img标记,设置宽度100%,高度自动,并且不要在父div上设置任何高度。