如何在div中使图像响应

时间:2014-07-11 10:51:32

标签: css image responsive-design

我的代码如下:

<div class="abc">
    <div class="bcd">
        <a href="#">
            <img class="img1" width="50" height="50"/>
        </a>
        <a>
            <h3>Some Text</h3>
        </a> 
    </div>
    <div class="bcd">
        <a href="#">
            <img class="img1" width="50" height="50"/>
        </a>
        <a>
            <h3>Some Text</h3>
        </a> 
    </div>
    <div class="bcd">
        <a href="#">
            <img class="img1" width="50" height="50"/>
        </a>
        <a>
            <h3>Some Text</h3>
        </a> 
    </div>
    <div class="bcd">
        <a href="#">
            <img class="img1" width="50" height="50"/>
        </a>
        <a>
            <h3>Some Text</h3>
        </a> 
    </div>
</div>

如何使手机(360X640px)和iPad(768X1024px)的图像响应? 你能告诉我CSS代码吗?

我必须在移动设备中提供两个图像,在iPad中提供四个图像!

8 个答案:

答案 0 :(得分:30)

以下是您需要遵循的代码:

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

参考:http://html5hub.com/html5-picture-element/

答案 1 :(得分:3)

width代码中移除heightimg属性,并为此图片添加CSS文件max-width:100%; width:100%;

答案 2 :(得分:3)

将您要设置的图像设置为div中的背景图像,并将背景大小设置为封面

background-image: url('YOUR URL');
background-size: cover;

答案 3 :(得分:2)

以百分比设置宽度和高度

  <img class="img1" width="100%" height="100%"/>

使用媒体查询

/ *风景* /

@media screen and (min-aspect-ratio: 1/1) {

 //use your style for landscape
                                          }

/ * Portrait(即窄视口)* /

@media screen and (max-aspect-ratio: 1/1) {

// your style for portrait
                                          }

答案 4 :(得分:2)

使用媒体查询,您可以根据需要分割图像。

.abc{padding:0; margin:0; box-sizing:border-box; width:100%;}
.bcd{display:inline-block;width:24%;}
@media all and (max-width: 360px){
   .bcd
   {
    display:inline-block;
    width:49%;
   }
}

DEMO

答案 5 :(得分:2)

 <style>
        html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,time, mark, audio, video {  margin: 0;  padding: 0; border: 0;  font-size: 100%;    font: inherit;  vertical-align: baseline;}/* HTML5 display-role reset for older browsers */article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {    display: block;}body {  line-height: 1;}ol, ul {    list-style: none;}blockquote, q {   quotes: none;}blockquote:before, blockquote:after,q:before, q:after {   content: '';    content: none;}table {  border-collapse: collapse;  border-spacing: 0;}
        .container .bcd{float: left;position: relative;}
        .container .bcd div{background-color: #fff;border: 1px solid #e4e4e4;border-radius: 5px;margin-top: 10px;min-height: 100px;}
        .container .bcd div img{border-radius: 5px 5px 0 0;height: auto;width: 100%;}
        .container .bcd div a.bottom{background: none repeat scroll 0 0 #fff;bottom: 4px;color: #000;font-size: 14px;padding: 9px 0 5px;position: relative;width: 100%;display: inline-block;}
        .container .bcd div a.bottom h3{padding: 0 10px;}
        @media (max-width: 700px) {
            .bcd{width: 100%;}
            .bcd div{margin: 0 10px}
        }
        @media (min-width: 700px) {
            .bcd {width: 50%;}
            .bcd:nth-child(odd) div {margin-left: 10px;margin-right: 5px;}
            .bcd:nth-child(even) div {margin-left: 5px;margin-right: 10px;}
        }
    </style>

<div class="container">
        <div class="bcd">
            <div>
                <a href="#">
                    <img  class="img1" width="50" height="50"/>
                </a>
                <a class="bottom"><h3>Some Text</h3></a>
            </div>
        </div>
        <div class="bcd">
            <div>
                <a href="#">
                    <img  class="img1" width="50" height="50"/>
                </a>
                <a class="bottom"><h3>Some Text</h3></a>
            </div>
        </div>
        <div class="bcd">
            <div>
                <a href="#">
                    <img  class="img1" width="50" height="50"/>
                </a>
                <a class="bottom"><h3>Some Text</h3></a>
            </div>
        </div>
        <div class="bcd">
            <div>
                <a href="#">
                    <img class="img1" width="50" height="50"/>
                </a>
                <a class="bottom"><h3>Some Text</h3></a>
            </div>
        </div>
        <div class="bcd">
            <div>
                <a href="#">
                    <img class="img1" width="50" height="50"/>
                </a>
                <a class="bottom"><h3>Some Text</h3></a>
            </div>
        </div>
        <div class="bcd">
            <div>
                <a href="#">
                    <img  class="img1" width="50" height="50"/>
                </a>
                <a class="bottom"><h3>Some Text</h3></a>
            </div>
        </div>
        <div class="bcd">
            <div>
                <a href="#">
                    <img  class="img1" width="50" height="50"/>
                </a>
                <a class="bottom"><h3>Some Text</h3></a>
            </div>
        </div>
        <div class="bcd">
            <div>
                <a href="#">
                    <img class="img1" width="50" height="50"/>
                </a>
                <a class="bottom"><h3>Some Text</h3></a>
            </div>
       </div>
        <div style="clear: both;margin: 0px;padding: 0px;"></div>
    </div>

Demo

答案 6 :(得分:0)

    <style>
    @media only screen and (max-width: 1024px) {    
        .abc .bcd{max-width:100%;height:auto;border:1px solid #ff0000;width:24%;display:inline-block;}
        .abc .bcd a img{width:100%;height:auto;}
    }

    @media only screen and (max-width: 640px) { 
        .abc .bcd{max-width:100%;height:auto;border:1px solid #ff0000;width:48%;display:inline-block;}
        .abc .bcd a img{width:100%;height:auto;}
    }
    </style>

您可以删除边框。

如果删除边框,则可以在一行中使用4%的宽度,在一行中使用50%的2行。

答案 7 :(得分:0)

CSS:

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

HTML:

<img class="img" src="image.png">