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

矩形图像的CSS圆形裁剪

闾丘书
2023-03-14

我想从矩形照片中制作一个居中的圆形图像。照片的尺寸未知。通常是矩形。我尝试了很多方法:

密码

.image-cropper {
    max-width: 100px;
    height: auto;
    position: relative;
    overflow: hidden;
}

.image-cropper img{
    display: block;
    margin: 0 auto;
    height: auto;
    width: 150%; 
    margin: 0 0 0 -20%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;  
}
<div class="image-cropper">
   <img src="https://sf1.autojournal.fr/wp-content/uploads/autojournal/2012/07/4503003e3c38bc818d635f5a52330d.jpg" class="rounded" />
</div>

共有3个答案

谷梁承宣
2023-03-14

如果你没有

css prettyprint-override">.cropcircle{
    width: 250px;
    height: 250px;
    border-radius: 100%;
    background: #eee no-repeat center;
    background-size: cover;
}

#image1{
    background-image: url(http://www.voont.com/files/images/edit/7-ridiculous-ways-boost-self-esteem/happy.jpg);
}
<div id="image1" class="cropcircle"></div>

高嘉树
2023-03-14

“对象拟合”(object fit)属性提供了一种非黑客方式(以图像为中心)。几年来,除了Internet Explorer之外,它已经在主要浏览器中得到支持(Chrome/Safari自2013年起,Firefox自2015年起,Edge自2015年起)。

img.rounded {
  object-fit: cover;
  border-radius: 50%;
  height: 100px;
  width: 100px;
}
<img src="https://picsum.photos/200/300" class="rounded">
慎俊雄
2023-03-14

方法错误,您需要将边界半径应用于容器div,而不是实际图像。

这将起作用:

.image-cropper {
  width: 100px;
  height: 100px;
  position: relative;
  overflow: hidden;
  border-radius: 50%;
}

img {
  display: inline;
  margin: 0 auto;
  height: 100%;
  width: auto;
}
<div class="image-cropper">
  <img src="https://via.placeholder.com/150" class="rounded" />
</div>
 类似资料:
  • 我的目标是使图像圆形并显示它。如果图像是方形的,那么我可以通过简单地使用CSS的属性将其转换为圆形。但是当图像是矩形时,使用这个CSS属性会给我椭圆形的图像。 剪辑的部分是不可见的,但仍然存在。所以即使现在我也在尝试使用属性,它给我椭圆形图像,右侧和左侧被剪辑。 我有什么办法可以解决这个问题吗?

  • 我知道实际上用CSS修改图像是不可能的,这就是为什么我在引号中加了crop。 我想做的是拍摄矩形图像,并使用CSS使其显示为方形,而不会扭曲图像。 我基本上想把这个: 对此:

  • 问题内容: 我设法实现了这种效果但是我对标记并不满意。另外,在IE10/11中有一个奇怪的错误,在您调整窗口大小时会显示1px的间隙。 还有其他方法吗?或者也许在IE中修复此问题。 编辑 圆不能使用边框,它应该是透明的。 问题答案: 您可以使用单个元素(加上伪元素)来完成此操作,而伪元素会创建圆,而父元素将背景用作背景。

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

  • 我有两个矩形,其中一个是另一个的剪裁。现在我想围绕剪切矩形的中心旋转较大的矩形并调整x / y值。 如何计算旋转后的新x/y值? 我只想绕着小盒子的中心旋转大盒子的x/y。因此,较大盒子的x/y点相对于较小盒子的顶部/左侧点。我有小盒子的宽度和高度,所以我可以计算大盒子相对于小盒子中心的x/y点。旋转的角度以度为单位。旋转可以是任何角度,例如10度。

  • 问题内容: 请提供有关如何在椭圆形或圆形上进行裁剪的想法。请分享您的想法。 问题答案: 通过增加半径,它将变得更圆滑。 只要图像是正方形,就可以通过将宽度的一半作为拐角半径来获得一个完美的圆: 您还需要添加 斯威夫特4.2