2013-07-22 111 views
1

對於響應圖片,我使用CSS屬性background-image和background-size。這允許圖像在瀏覽器窗口調整大小時自動調整大小。問題是,圖片下方的內容並未調整大小。例如,在此設置了我上面的一段文字圖片:使用CSS調整背景圖片和內容的大小

<div class="container"> 
    <div class="image></div> 
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ut ligula lacinia, eleifend risus nec, adipiscing magna. Integer egestas fermentum lectus, ac bibendum diam faucibus eu.<p> 
</div> 

對於CSS我:

.container { 
    width: 50%; 
} 

.image { 
    background-image: url('image.jpg'); 
    background-repeat: no-repeat; 
    background-size: 100%; 
    height: 350px; 
} 

當瀏覽器進行調節,圖像也被調整,但由於圖片(350px)有一個設定的高度,在圖片和段落下方會形成一個縫隙。是否有一些我可以做的CSS更改,允許段落在圖片大小調整後直接保留在圖片下方?

下面是一個例子的jsfiddle http://jsfiddle.net/qKGt9/

回答

2

,如果你希望文本圍繞它流動你不應該使用的圖像作爲背景。自適應設計技術通常將採用這一招IMG元素:

/* Responsive image CSS */ 
img { 
    width: 100%; 
    height: auto; 
} 

我叉你的工作示例小提琴: http://jsfiddle.net/WDFBR/

它需要你的HTML結構和CSS一些細微的變化。最主要的是,我使用的是IMG元素而不是DIV來顯示圖像。看看Twitter Bootstrap等流行框架下的產品,您將學到很多關於良好響應式設計的知識。

+0

是的,這是完美的。感謝您的幫助和建議。 – user715564

0
<div class="container"> 
<div class="image> 
<img src="image path" /> 
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ut ligula lacinia, eleifend risus nec, adipiscing magna. Integer egestas fermentum lectus, ac bibendum diam faucibus eu.<p> 
</div> 

</div> 

試試這個..

+0

而CSS來與去? – Maple

+0

更改圖像大小無論你想要的段落將永遠在它之下。以前的一個錯誤是,該圖像是在div和段外的div.so圖像總是在div下面而不是image.use你以前使用的CSS,它會幫助:) –

+0

OP的CSS使用div與背景圖像,以利用一定的自動調整大小的方法。如果您只是將文本移動到該div中,它將顯示_over_圖像而不是下面的圖像。你在正確的軌道上,只是錯過了CSS來自動調整特定HTML的圖像大小。 – Maple

1

這是否符合要求?

.image { 
    background: url('http://c.tadst.com/gfx/600x400/int-mountain-day.jpg?1') no-repeat; 
    background-size: 100%; 
    padding-top: 66.667%; /* holds 3:2 aspect ratio */ 
} 

Fiddle

0

放入HTML代碼的實際圖像,並設置img元件的通用寬度來填充其父容器的100%的寬度:

HTML:

<div class="image"> 
    <img src="http://c.tadst.com/gfx/600x400/int-mountain-day.jpg?1"> 
</div> 

CSS:

img { 
    width: 100%; 
} 

小提琴:

http://jsfiddle.net/philsinatra/qKGt9/3/