使用CSS的响应式图像

Dan*_*nly 43 css image responsive-design

我发现调整图像大小以使其响应变得棘手.

我正在开发一个php应用程序来自动将网站转换为响应版本.我有点卡在图像上.

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

我的问题在于自然比窗口小的图像,例如徽标和图标.我不想调整这些.

我的代码目前转换为:

<img src="[src]" />
Run Code Online (Sandbox Code Playgroud)

成:

<div class="erb-image-wrapper">
    <img src="[src]" />
</div>
Run Code Online (Sandbox Code Playgroud)

我在哪里使用以下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;
}
Run Code Online (Sandbox Code Playgroud)

这会调整所有图像的大小,但我只希望它调整超出页面宽度的图像.这是我通过CSS实现这一目标的方式吗?

Dan*_*nly 87

.erb-image-wrapper img{
    max-width:100% !important;
    height:auto;
    display:block;
}
Run Code Online (Sandbox Code Playgroud)

为我工作.
感谢MrMisterMan的帮助.

  • 使用`display:inline-block;`如果你的容器元素有`text-align:center;`你希望你的图像居中. (2认同)

pun*_*lly 14

也用max-width在图像上.更改:

.erb-image-wrapper img{
    width:100% !important;
    height:100% !important;
    display:block;
}
Run Code Online (Sandbox Code Playgroud)

至...

.erb-image-wrapper img{
    max-width:100% !important;
    max-height:100% !important;
    display:block;
}
Run Code Online (Sandbox Code Playgroud)

  • 我用高度试过了:auto; 而不是max-height:100%,它的工作原理.坚持你的答案,我会标记你的正确. (2认同)
  • 只是想到,为了帮助发生在页面上的其他人.您的解决方案让我发现了实际的答案.我会接受信用;) (2认同)