开发者问题收集

响应式图像

2013-07-20
496

我并不是在寻找图像方面的创新解决方案,我已经阅读了大量有关加载图像等内容。

我只是在做一些基本的响应式设计,想加载一个大图像,然后在窗口变小的时候将其压缩。

我编写了以下 CSS:

@media (max-width:420px){
     #header #logo{
        width:60%;
        float:left;
        background:red;
    }

    #header #logo #image{
        margin:5%;
        width:20%;
        float:left;
        background:green;
    }

    #header #nav{
        width:40%;
        float:left;
        background:purple;
    }

    #header #nav #search{
        max-width:33%;
        float:left;
    }

    #header #nav #account{
        max-width:33%;
        float:left;
    }

    #header #nav #menu{
        max-width:33%;
        float:left;
    }
 }

以及与之配合的 HTML:

<div id="logo">
        <div id="image">
            s
        </div>
    </div>
    <div id="nav">
        <div id="search">
            <img src="assets/images/mobile-search.png"/> 
        </div>
        <div id="account">
            <img src="assets/images/mobile-account.png"/> 
        </div>
        <div id="menu">
            <img src="assets/images/mobile-menu.png"/> 
        </div>
    </div>

当我调整窗口大小时,图像不会调整大小。 实现此目的的正确 CSS 语法是什么?

谢谢 :)

2个回答

max-width 应用于您的图片。

img {
    max-width: 100%;
}

http://jsfiddle.net/VBHhD/

我还将使用无序列表进行导航,但这只是我个人的看法。

hungerstar
2013-07-20

在您的 CSS 中,您正在使用媒体查询,最大宽度为 420px,这是移动视图。您是否尝试过在非常低的级别调整浏览器大小?@media (max-width: 420px){ #header #nav #search img,#header #nav #account img,#header #nav #menu img { width:50%;

} http://codepen.io/anon/pen/kchqg

Jhalak Subedi
2013-07-20