我有一张200x100的矩形图片,我将其缩小到50px但保持了原始宽高比,使用了
max-width: 50px;
max-height: 50px;
我希望给我的图片添加一个圆形效果,因此使用了border-radius: 50%
。但是,由于图片不是一个完美的正方形,这种方法不能实现目标,而是得到一个椭圆形的图片。如何解决这个问题并保持原始图片的长宽比?如果在我的图片周围加上白色条纹来填补空白并使其变成一个正方形,我也可以接受。
谢谢
我有一张200x100的矩形图片,我将其缩小到50px但保持了原始宽高比,使用了
max-width: 50px;
max-height: 50px;
我希望给我的图片添加一个圆形效果,因此使用了border-radius: 50%
。但是,由于图片不是一个完美的正方形,这种方法不能实现目标,而是得到一个椭圆形的图片。如何解决这个问题并保持原始图片的长宽比?如果在我的图片周围加上白色条纹来填补空白并使其变成一个正方形,我也可以接受。
谢谢
.my-ele {
background-color : #000;
background-image : url([URL TO IMAGE]);
background-repeat : no-repeat;
background-position : 50% 50%;
background-size : 100% auto;
background-size : contain;
width : 300px;
height : 300px;
border-radius : 50%;
}
background-size
设置为contain
(适用于现代浏览器),对于旧版浏览器,您可以将其设置为100% auto
或auto 100%
(具体取决于您想要全宽度还是全高度)。<img src="">
转换为<div>
源代码,你需要依靠JavaScript。 - Terry<img>
),并且希望为此动态创建<div>
元素,则需要依靠JS将图像源注入为背景图像。 - Terry<img />
元素,只有在元素具有相等的高度/宽度尺寸时才能制作圆形。使用背景图像的美妙之处在于您可以根据需要剪裁图像。 - Jasper
background-size: cover
属性。 - Terrybackground-size
为contain
,对于旧浏览器则设置为类似于100% auto
或auto 100%
(取决于您想要全宽还是全高)。 - Jasper