开发者问题收集

使用 CSS 实现响应式图像

2012-07-31
171394

我发现调整图像大小以使其具有响应性很棘手。

我正在开发一个 php 应用程序,用于自动将网站转换为响应式版本。我在图像方面有点困惑。

我已经成功地为网站上的每张图片添加了一个包装器类,并且可以很好地调整图像大小。

我的问题在于自然小于窗口的图像,例如徽标和图标。我不想调整它们的大小。

我的代码目前将:

<img src="[src]" />

转换为:

<div class="erb-image-wrapper">
    <img src="[src]" />
</div>

我使用以下 CSS:

.erb-image-wrapper{
    max-width:90%;
    height:auto;
    position: relative;
    display:block;
    margin:0 auto;
}
.erb-image-wrapper img{
    width:100% !important;
    height:100% !important;
    display:block;
}

这会调整所有图像的大小,但我只希望它调整超出页面宽度的图像的大小。我可以通过 CSS 实现这一点吗?

3个回答
.erb-image-wrapper img{
    max-width:100% !important;
    height:auto;
    display:block;
}

对我有用。
感谢 MrMisterMan 的帮助。

Dan Hanly
2012-07-31

在图像上也使用 max-width 。将:

.erb-image-wrapper img{
    width:100% !important;
    height:100% !important;
    display:block;
}

更改为...

.erb-image-wrapper img{
    max-width:100% !important;
    max-height:100% !important;
    display:block;
}
punkrockbuddyholly
2012-07-31

首先使用 php 检查图像,如果太小,则为徽标的标准尺寸 为其提供任何其他 css 类,不要更改其大小

我认为您必须在两者之间使用脚本

Sahil Popli
2012-07-31