对于响应式图像,我使用CSS属性background-image和background-size。这允许在调整浏览器窗口大小时图像自动调整大小。问题是,图像下方的内容也没有调整大小。例如,在此设置中,我有一段文字上方的图片:
<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/
答案 0 :(得分:2)
如果您希望文本在其周围流动,则不应将图像用作背景。响应式设计技术通常会将此技巧用于IMG
元素:
/* Responsive image CSS */
img {
width: 100%;
height: auto;
}
我为你的小提琴做了一个工作的例子: http://jsfiddle.net/WDFBR/
它需要对HTML结构和CSS进行一些细微的更改。主要的是我使用IMG
元素而不是DIV
来显示您的图像。看看Twitter Bootstrap等热门框架下的商品,您将学到很多关于良好响应式设计的知识。
答案 1 :(得分: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 */
}
答案 2 :(得分: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>
试试这个..
答案 3 :(得分: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%;
}
小提琴:
答案 4 :(得分:0)
这是您的100%解决方案:
按照以下网址,我刚刚回答了同一个问题。
Responsive CSS background image - how to make content follow
如果需要更多帮助,最欢迎:)