【问题标题】:Responsive div and image, where images have different sizes响应式 div 和图像,其中图像具有不同的大小
【发布时间】:2015-02-04 18:16:46
【问题描述】:

我无法让工作响应能力...

我有几个 div,每个 div 的大小为 500pxx500px,并且 div 内的图像具有不同的大小。

我正试图让他们都做出响应......没有任何进展。

我已经让它的分辨率高达(最大宽度)320px。

这是 jsfiddle,你们可以看看。

http://jsfiddle.net/42b15toa/

HTML

<div id="container">
    <div>
        <img src="http://farm8.staticflickr.com/7307/16418106076_c4fbbe9ef7_b.jpg" class="size-1" />
    </div>
    <div>
        <img src="http://farm8.staticflickr.com/7307/16418106076_c4fbbe9ef7_b.jpg" class="size-2" />
    </div>
    <div>
        <img src="http://farm8.staticflickr.com/7307/16418106076_c4fbbe9ef7_b.jpg" class="size-3" />
    </div>
    <div>
        <img src="http://farm8.staticflickr.com/7307/16418106076_c4fbbe9ef7_b.jpg" class="size-4" />
    </div>
    <div>
        <img src="http://farm8.staticflickr.com/7307/16418106076_c4fbbe9ef7_b.jpg" class="size-5" />
    </div>
    <div>
        <img src="http://farm8.staticflickr.com/7307/16418106076_c4fbbe9ef7_b.jpg" class="size-6" />
    </div>
</div>

CSS

#container {
    padding: 0 10px;
}

    #container div {
        width: 500px;
        height: 500px;
        background: rgba(81, 81, 81, 0.3);
        float: left;
        margin: 10px;
        text-align: center;
        position: relative;
    }

        #container div img {
            position: absolute;
            margin: auto;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
        }

        #container div span {
            display: none;
        }

.size-1 {
    height: 400px;
    width: 300px;
}

.size-2,
.size-6 {
    height: 300px;
    width: 500px;
}

.size-3 {
    height: 300px;
    width: 400px;
}

.size-4 {
    height: 500px;
    width: 500px;
}

.size-5 {
    height: 500px;
    width: 300px;
}

@media screen and (max-width: 320px) {
    #tags {
        width: 250px;
    }

    #divProcessing {
        width: 80%;
        font-size: 15px;
    }

    #container div {
        height: 350px;
        width: 280px;
    }

    .size-1,
    .size-2,
    .size-3,
    .size-4,
    .size-5,
    .size-6 {
        height: 350px;
        width: 280px;
    }
}

【问题讨论】:

    标签: html css


    【解决方案1】:

    我会尝试:

       #container div img {
            position: absolute;
            margin: auto;
            top: 0;
            left: 0;
            right: 0;
            width: 100%;
            max-width: 100%;
            height: auto;
            bottom: 0;
        }
    

    诀窍是最大宽度:100% 和宽度:100% - 为了保持图像纵横比,我们包括高度:自动。如果这无关紧要,请随意省略。

    结果:http://jsfiddle.net/ee7ddpoe/

    一篇可能有用的文章:http://alistapart.com/article/responsive-images-in-practice 或者使用不同术语的旧文章:fluid-images - http://alistapart.com/article/fluid-images

    【讨论】:

    • 但是将 max-width 和 width 设置为 100% 会改变每个 div 内图像的大小,我不希望那样...
    • 我现在明白了,您正在尝试将图像居中并确保它们仅填充到自己的最大宽度?尝试删除宽度:100%;并且绝对摆脱尺码等级的高度
    • 你能举个例子吗...如果移除高度会如何改变图像?
    猜你喜欢
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    相关资源
    最近更新 更多