首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS居中裁剪图像小于最小宽度

CSS居中裁剪图像小于最小宽度
EN

Stack Overflow用户
提问于 2021-09-08 16:14:16
回答 2查看 76关注 0票数 0

我正在尝试实现一个页面横幅,它在某个断点上是全宽/全高的,而在该断点下,宽度开始缩小以保持其高度。我已经在某种程度上使用min-width规则实现了这一点,但是在断点下方,它仅从图像的右侧进行裁剪。因为我通常会覆盖居中或左对齐的文本,所以图像的焦点通常在中心/右侧。有没有我不知道的css规则,定义裁剪出现在最小宽度以下的地方,而不是总是从右边掉下来?谢谢

编辑-以下是一些示例代码

代码语言:javascript
复制
<div class="banner-container full-width ">
  <img class="background-image" src="/some-image.png">
  <div class="banner-text full">some text</div>
</div>

下面是相关的css

代码语言:javascript
复制
.banner-container {
  overflow: hidden;
  min-height: 275px;
}
.background-image {
  min-width: 755px;
  height: 100%;
  width: 100%;
}

我使用img元素,而不是将图像设置为横幅容器的背景,因为我希望容器采用图像的高度。如果我可以使用背景图像来实现这一点,那可能就是可行的方法

EN

回答 2

Stack Overflow用户

发布于 2021-09-08 17:16:10

只使用“.banner- container”来控制图像容器的宽度。然后对镜像本身使用以下内容:

代码语言:javascript
复制
.banner-container {
  width: 50%
}
.background-image {
  width: 100%;
  height: auto;
}
票数 0
EN

Stack Overflow用户

发布于 2021-09-08 17:23:31

您可以执行以下操作:

代码语言:javascript
复制
.banner-container {
  overflow: hidden;
  min-height: 275px;
  position: relative;
}
.background-image {
  min-width: 755px;
  height: 100%;
  width: 100%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

这将使图像水平居中,方法是先将图像向右移动半个容器(使用left: 50%;,然后再向左移动其自身宽度的一半(transform: translateX(-50%);)。

要使其垂直居中,您还可以添加top: 50%,而不是translateX(-50%),使用translate(-50%, -50%)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69106510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档