尽管最大宽度,大图像拉伸元素:98%

时间:2014-07-01 12:57:47

标签: html css fluid-layout

在我的半流畅论坛布局中,我遇到了一个奇怪的问题,即帖子中的图片有时会拉伸页面,但有时他们不会。

我已将图像设置为" max-width:98%",期望将其缩小到父元素的宽度。但是,这有时只会发生;由于某种原因,在其他场合,图像会爆炸布局,我无法分辨原因。

从我所看到的情况来看,这两个页面都包含巨大的图像,但其中只有一个会拉伸布局,而另一个则会正确缩放。

使用此HTML代码构建元素(示例):

<div class="post">
    <div class="postbody">
        <div class="content">
            <img src="<source>" class="postimage" alt="Image">
        </div>
    </div>
</div>

遵循以下CSS规则:

.post {
    padding: 0.5rem 0.5rem 0.5rem 1rem;
    margin-bottom: 1.6rem;
    position: relative;
}

.postbody {
    padding: 0px 0px 3rem;
    width: 83%;
    float: right;
}

.postbody .content {
    font-family: Verdana,Arial,Helvetica,sans-serif;
    overflow-x: auto;
}

.postbody img.postimage {
    width: auto;
    max-width: 98%;
}

在上述工作示例中可以看到更精确的代码视图。

我在Firefox 30和Internet Explorer 11上以1920x1080的速度遇到此问题,但在Google Chrome上却没有。这笔交易是什么?也许这与我的other issue?

有关

2 个答案:

答案 0 :(得分:2)

img max-width 表示为父元素宽度的百分比。

问题是未包含父元素,因为 #tablewrap 并且它的2个孩子正在实施 display:table 布局策略。

为了避免此问题并维护您的布局响应,我建议您删除那些 display:table 声明并选择 - 例如 - one of the patterns explained here

答案 1 :(得分:1)

你的非拉伸图像就是这样做的,因为它们被包裹在不同的带有postimage类的css标签下。然而,被拉伸的一个被包裹在bbcode_sshot的不同css类中。 这是你的两个图像的样子: 拉伸:

<img class="postimage" src="/image file" alt=":)" title="image title" />

未拉伸

<span class="bbcode_sshot"><a href="http://i62.tinypic.com/2dtr90k.png" target="_blank"><img src="http://i62.tinypic.com/2dtr90k.png"/></a></span>

要修复非拉伸图像中的拉伸,请删除bbcode_sshot类并添加postimage类,否则将其作为类添加为过度拉伸图像。

BTW如果你想缩放图像,那么使用这个简单的技术

img {
    max-width: 100%;
    height: auto;
}