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

如何使用CSS将矩形图像“裁剪”为正方形?

岳俊晖
2023-03-14

我知道实际上用CSS修改图像是不可能的,这就是为什么我在引号中加了crop。

我想做的是拍摄矩形图像,并使用CSS使其显示为方形,而不会扭曲图像。

我基本上想把这个:

对此:

共有3个答案

王才英
2023-03-14

如果图像位于具有响应宽度的容器中:

.rect-img-container {
  position: relative;
}

.rect-img-container::after {
  content: "";
  display: block;
  padding-bottom: 100%;
}

.rect-img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
<div class="rect-img-container">
  <img class="rect-img" src="https://picsum.photos/id/0/367/267" alt="">
</div>
别帅
2023-03-14

假设它们不必在IMG标签中...

HTML:

<div class="thumb1">
</div>

CSS:

.thumb1 { 
  background: url(blah.jpg) 50% 50% no-repeat; /* 50% 50% centers image in div */
  width: 250px;
  height: 250px;
}

.thumb1:hover { YOUR HOVER STYLES HERE }

编辑:如果div需要链接到某个地方,只需调整超文本标记语言和样式,如下所示:

HTML:

<div class="thumb1">
<a href="#">Link</a>
</div>

CSS:

.thumb1 { 
  background: url(blah.jpg) 50% 50% no-repeat; /* 50% 50% centers image in div */
  width: 250px;
  height: 250px;
}

.thumb1 a {
  display: block;
  width: 250px;
  height: 250px;
}

.thumb1 a:hover { YOUR HOVER STYLES HERE }

注:这也可以修改为响应,例如宽度和高度百分比等。

潘宪
2023-03-14

没有包装器div或其他无用代码的纯CSS解决方案:

img {
  object-fit: cover;
  width: 230px;
  height: 230px;
}
 类似资料:
  • 我想从矩形照片中制作一个居中的圆形图像。照片的尺寸未知。通常是矩形。我尝试了很多方法: 密码

  • 我在寻找过去的一天,我没有成功。 我从API获取图像,并使用以下代码将其下载到位图文件。 我得到一个正方形的图像,我想裁剪四个角,使其成为圆形图像。有没有可能实现的方法? 欢迎任何相关答案。提前谢谢。

  • 我需要始终只使用CSS将随机大小的图像裁剪成160x160的正方形。裁剪时,图像应保持居中。 我的标记应该是: 在StackOverflow上搜索我找到了一些答案(例如CSS-如何将图像裁剪成正方形,如果它已经是正方形,则调整其大小),但它们不适用于图像水平(宽)或垂直(高)较大的情况。 具体来说,我需要能够呈现像这样的宽图像: 像这样的高大形象: 以正方形形式,事先不知道哪个是水平矩形还是垂直矩

  • 我是图像处理新手,开始学习scikit图像。我试图检测矩形的角,然后裁剪整个图像。但我完全迷失在大量的分割和检测算法中,不知道我需要哪种算法以及如何去做。 此代码生成一个示例图像。我想把它裁剪成绿色的矩形。我需要做什么? 从matplotlib将pyplot导入为pyplot 任务是检测矩形(多边形阵列)的边缘并将图像裁剪到其中。 我尝试了哈里斯角检测,精明的边缘检测和许多其他,但我完全困惑。这似

  • 问题内容: 我有这个HTML: 使用此CSS: 我正在应用的背景图像是200x100像素,但我只想显示200x50像素的背景图像的裁剪部分。 似乎不是正确的CSS属性。我该怎么用呢? 不应使用,因为我在Sprite上下文中使用了上述CSS,在该Sprite上下文中,我要显示的图像部分小于定义CSS的元素。 问题答案: 您可以将图形放置在具有其自身尺寸上下文的伪元素中: 浏览器支持很好,但是如果需要

  • 我试图在从图库中选择图像后使用intent来裁剪图像。以下是我的代码片段 在这里,我使用PICK_IMAGE_REQUEST意图句柄调用上面的代码段 由于我在裁剪后使用了相同的意图,即PICK_IMAGE_REQUEST,可能会出现什么问题