2013-07-22 114 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/