我面临着一个问题,在使用CSS的较小屏幕上为图像保持圆形形状.这是我遇到的问题:

我有一个布局,我使用border—radius:50%;CSS属性以圆形显示图像.然而,当我将屏幕大小调整为较小的断点时,图像的圆形形状会扭曲,不再保持完美的圆形.

我已经try 将边界半径属性设置为50%,同时指定相同的最大宽度和最大高度值以保持纵横比.然而,这种方法在较小的屏幕上似乎并不像预期的那样起作用.

我正在寻找一个解决方案或变通办法,这将使我能够保持一个完美的圆形形状的图像跨越不同的屏幕尺寸而不失真.任何关于如何实现这一点的见解或建议将不胜感激!

目前,如果你试图调整屏幕大小,它将保持相同的大小.

提前感谢您的帮助!

Note: image size shouldn't be bigger than 8rem

.figure {
  position: relative;
}

.figure img {
  width: 200px;
  height: 200px;
  border-radius: 50%;
}
<figure class="figure">
  <img src="https://via.placeholder.com/400x300" alt="Placeholder Image">
</figure>

推荐答案

如果您使用以下各项的组合:

  • vmin换你的width
  • aspect-ratio

那么无论视口的大小如何,你都会有一个合适大小的圆.


Working Example:

body {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

figure img {
  display: block;
  width: 50vmin;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
<figure class="figure">
  <img src="https://via.placeholder.com/400x300" alt="Placeholder Image">
</figure>


Further Reading:

Html相关问答推荐

卡片上方的文本

如何实现弯曲的梯形导航栏?

当溢出到滚动条中时, bootstrap 按钮样式会更改

按钮之间的HTML文本居中不正确

如何使用CSS创建文件夹选项卡的形状?

如何将功能附加到嵌入式药剂中的按钮?

SVG';COLOR&39;属性不优先于通用css';COLOR&39;属性

在R中从网页上的特定iframe中提取图形数据

如何将内容放置在侧边栏旁边?

在选项标签中如何添加Django模板的条件

当作为常规图片输入时,Cloudfront分布式图像可显示,但作为背景图像不显示

本地和在jsfiddle上页面工作正常,但在GitHub上无法运行.

Flex布局中,当父元素高度较高时,交叉轴上出现额外的空白问题.

CSS:第一个类型的伪类没有按预期工作

按钮显示:内联不换行

如何制作一个空的网格模板行来填充剩余空间?

单击按钮时更改字体真棒图标

flex-box 中的图像在 Chrome 和 Firefox 中看起来不同 - 如何使它们在 Firefox 中看起来像?

为什么相同持续时间的转换需要不同的时间?

所有幻灯片上的 Quarto RevealJS 标题