2014-01-21 179 views
7

我已經瀏覽了很多關於此主題的帖子,我可以找到它們,但是他們都沒有解決這個難題。有沒有可能有一個左列與文本和一個右列與圖像,將調整大小時,一個自動調整大小的圖像將流入單個列?具有響應式圖像的2列CSS響應式佈局

在img上使用100%的最大寬度將使圖像響應並自動調整大小。但是,自動調整大小不適用於表格中,或者在其周圍應用了百分比或浮點數。因此,任何包含浮點數或圖像百分比的CSS 2列布局都會打敗圖像大小調整。

除了使用網格,有沒有人有這個解決方案?

+0

創建JSfidle,我會告訴你如何。 – Romain

回答

26

如果您浮動圖像的父div,它不應該影響圖像的響應寬度。

HTML

<div class="group"> 
    <div class="left"> 
     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima corporis voluptates repellat ullam labore qui voluptatum error nesciunt ratione dolorem fugiat veritatis ipsum nobis eius dicta est obcaecati ab animi illum molestias accusamus cum laboriosam magni recusandae earum unde fuga deserunt laudantium facere ducimus rerum tempora pariatur consectetur iste nulla a aut ea sit nam autem doloremque iusto exercitationem voluptatem facilis eos quasi. Mollitia sequi assumenda corrupti repellendus ex amet reprehenderit animi illum ducimus totam unde quia distinctio quam velit magnam. Voluptatibus dolores natus sint enim fugiat. Sapiente voluptates enim officiis. Iste repudiandae illo nulla sed nam a ratione iure?</p> 
    </div> 
    <div class="right"> 
     <img src="http://lorempixel.com/640/480/" alt="" /> 
    </div> 
</div> 

CSS

.left { 
    float: left; 
    width: 50%; 
} 
.right { 
    float: right; 
    width: 50%; 
} 
.group:after { 
    content:""; 
    display: table; 
    clear: both; 
} 
img { 
    max-width: 100%; 
    height: auto; 
} 
@media screen and (max-width: 480px) { 
    .left, 
    .right { 
     float: none; 
     width: auto; 
    } 
} 

Demo

+0

太好了,謝謝。除了添加左右邊距,我不得不將左右寬度更改爲45%。 – Charles

+0

在windows phone上無法使用IE! – TomSawyer

+0

Hi @TomSawyer,這將適用於任何支持媒體查詢的瀏覽器。上面的示例媒體查詢將在視口寬度爲480px或更小時觸發。你試過的測試是視口寬度小於481px?該版本的IE支持媒體查詢嗎?從我發現的一個快速搜索[Windows Phone上的一些版本的IE瀏覽器有錯誤,導致瀏覽器忽略媒體查詢](http://stackoverflow.com/questions/20181819/ie-10-on-wp8-ignores-media -queries)。 – 3dgoo