当前位置: 首页 > 知识库问答 >
问题:

使用CSS Object-Fit:contain on image在其周围留下空格

茅才
2023-03-14

我有一个容器image-wrapper和其中的一个图像。

容器具有固定的高度和宽度。在它内部,图像分辨率将是动态的。

我所要做的就是将图像水平和垂直地居中到容器中,并对其应用一些框影样式。

但它在图像周围留下了一个空白,看起来很怪异。下面是代码。垂直图像也是如此。

null

css lang-css prettyprint-override">.image-wrapper {
  height: 400px;
  width: 400px;
  background-color: rgb(0,200,100);
  padding: 40px;
}

.image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  box-shadow: 10px 10px 10px red;
}
<div class="image-wrapper">
  <img src="https://via.placeholder.com/500x200">
</div>

null

我只想在图像周围有一个阴影,没有空间。我想我错过了一件很简单的事情。

我已经尝试将position:relative添加到容器中,但没有起作用。

我试图通过搜索“CSS对象适合图像阴影”,“CSS对象适合图像添加空间”之类的东西来搜索它,但没有找到任何类似的东西。

共有1个答案

习宸
2023-03-14

我的解决方案没有裁剪和使用Flexbox:

null

.image-wrapper {
  height: 100%;
  width: 500px;
  background-color: rgb(0,200,100);
  padding: 40px;
  display : flex;
  justify-content: center;
  align-items: center;
}

.image-wrapper img {
  width: 100%;
  object-fit: contain;
  box-shadow: 10px 10px 10px red;
}
<div class="image-wrapper">
  <img src="https://via.placeholder.com/500x1000">
</div>
 类似资料:
  • 我想在JPanel中显示JCheckBox-es的垂直列表。但是我决定用一个JPanel来包装每个JCheckBox,(我想我将来会需要它)。我将使用BoxLayout将这些JPanels(每个JPanels包含一个JCheckBox)垂直地堆叠在另一个JPanel中。 我怎么才能修好这个?我只是简单地设置flowlayout并将jcheckbox直接添加到JPanel中。我没有用过其他代码。 我

  • 问题内容: 我在玩耍以获得更好的itertools感觉,所以我按数字对元组列表进行了分组,并试图得到结果组的列表。但是,当我将结果转换为列表时,会得到一个奇怪的结果:除了最后一组以外的所有内容都是空的。这是为什么?我以为将迭代器转换为列表效率不高,但永远不会改变行为。我猜列表是空的,因为遍历了内部迭代器,但是何时/何地发生? 问题答案: 从 文档中 : 返回的组本身就是一个与共享底层可迭代对象的迭

  • 问题内容: 好吧,假设我有一张桌子,上面有照片。 我要做的是在页面上根据URI中的ID显示照片。下面的照片我想在附近的照片中显示10张缩略图,而当前照片应该在缩略图的中间。 到目前为止,这是我的查询(这只是一个示例,我使用7作为id): 但是我得到这个错误: 问题答案: 只能为‘d查询定义一个子句。使用或都没关系。MySQL确实支持’d查询的某些部分的子句,但是如果没有定义顺序的能力,它就相对没有

  • 问题内容: 在阅读了一些有关SQL问题的答案和评论,并听到我的一个朋友在一个禁止他们使用的政策的地方工作之后,我想知道在MySQL的字段名周围使用反引号是否有问题。 那是: 问题答案: 使用反引号允许您使用其他字符。在查询编写中,这不是问题,但是如果假设您可以使用反引号,那么我认为它可以让您摆脱诸如 当然哪个会生成命名错误的表。 如果您只是为了简洁起见,我认为它没有问题,那么您会注意是否按如下方式

  • 问题内容: 我创建了一个html错误页面。它有2行显示错误。第二行链接到主页。为了使两行保持在中心,我创建了一个顶层并将网格的每一行都设为a 。我注意到,如果我用于第二行,则链接周围没有任何空格,但是如果删除,该空格将被添加,即html从变为。 如果删除属性,为什么会添加空格? 码 html CSS 问题答案: 这是因为flexbox删除或元素之间的默认空白。 这是没有flexbox的代码,其中有

  • 问题内容: 如何删除主块(#page)下的空白? 问题答案: 好吧,那就不要使用相对定位了。使用相对定位时,该元素仍会占用原来的空间,并且您无法摆脱它。例如,您可以改用绝对定位,也可以使元素彼此浮动。 我对布局进行了一些尝试,建议您将这三个规则更改为: