【问题标题】:How to stop url() images from being cropped when resizing window?调整窗口大小时如何阻止 url() 图像被裁剪?
【发布时间】:2021-04-04 04:49:48
【问题描述】:

我正在测试已设置为以下 css 属性的 following game (repo here):

.game {
    min-width:400px;
    max-width: 660px;
    margin: auto;
}

游戏应用有 16 个 div,其中 class=container,每个里面都有一个 div class=card,有 2 个数字(一个有 class=“前”,一个有 class=“后”) - 请参阅下面的 Chrome Inspector 工具截图

每张卡片的 class=正面部分都有一个图像,由 css 文件中的以下 url() 代码示例定义

[data-card-type="B2"] .front {
    background: #f5f5f5 url('../img/img4.jpg');
}

在调整我的游戏所在的整个窗口的大小时,我可以看到 div 容器的大小也发生了调整,从而影响了其中的内容。这会导致图像被裁剪,从而只显示其中的一部分:

只有当 div 容器是全尺寸时,它们里面的图像才能完全显示出来。

我尝试修改许多不同的 css 变量(例如,为 div 容器或前端类设置最小宽度)以阻止图像被“裁剪”,请参见下面的类示例:

.front {
    background-color: #ffb3b3;
    min-width:100%
}

但这些更改都没有奏效。

我究竟需要在哪里修改代码以使图像停止裁剪,并始终显示响应式调整大小(例如,变小或变大但始终显示整个图像内容)?

【问题讨论】:

  • 如何将 width: XXpx 和 height: XXpx 应用到父 div 和 width: 100% 和 height: 100% 到 img?
  • 感谢@Ajay,这是一个很好的建议,但是如果我为我的 div 提供静态大小,那么它们将不会调整到不同的屏幕。我想让它们调整大小,这样移动设备中的用户就不必滚动加载来查看所有图像

标签: html css


【解决方案1】:

如果纵横比合适的话,我想你可以在图中css中使用background-size: contain;

【讨论】:

  • 嘿@filo 谢谢你的回答,但你能解释一下吗?不明白该在哪个类中添加?
  • 嗨@Scinana,您必须将其插入到放置图像样式的同一类中(background: #f5f5f5 url('../img/img4.jpg');)。在您的情况下,在 [data-card-type="B2"] .front 类中
  • 这太棒了,它奏效了!非常感谢:)
  • @Scinana 真棒!
猜你喜欢
  • 1970-01-01
  • 2011-08-20
  • 2019-06-16
  • 1970-01-01
  • 1970-01-01
  • 2011-11-11
  • 1970-01-01
  • 1970-01-01
  • 2020-09-15
相关资源
最近更新 更多