如何创建一个CSS外圈来保存图像作为内圈 [关闭]

How to create a CSS outercircle to hold an image as an inner Circle [closed]

提问人:Ismail Omotayo 提问时间:11/17/2023 更新时间:11/17/2023 访问量:34

问:


编辑问题以包括所需的行为、特定问题或错误以及重现问题所需的最短代码。这将帮助其他人回答这个问题。

2天前关闭。

我想创建一个外圈来将图像作为内圈,但我应用的样式不起作用。我已经附上了我试图实现的目标的图像和我尝试实现的代码。在此处输入图像描述

我尝试过这种风格来实现它,但它不起作用。我给 CSS 选择器的样式是宽度 25rem、高度 25rem、边框 1px 实心,边框半径为 50%,将其相对定位并为其提供蓝色背景,但它没有将其应用于它们。

HTML CSS CSS 选择器

评论

0赞 tacoshy 11/17/2023
请发布一个最小的可重现示例,显示“不起作用”的代码。

答:

-1赞 Professor Abronsius 11/17/2023 #1

由于您没有发布任何实际代码,因此很难知道为什么您无法根据图像设置元素样式以显示,但也许这可能会有所帮助。如果您愿意,使用 css 变量可以轻松修改效果的基础知识

:root{
  /* Circle diameter */
  --d:25rem;
  /* Difference in size between inner & outer */
  --delta:2rem;
  /* Border radius used to describe a circle */
  --r:50%;
  /* width of outer circle border */
  --b:0.25rem;
}

/* The outer circle that holds the image */
.circular-frame{
  width:var(--d);
  height:var(--d);
  border-radius:var(--r);
  
  border:var(--b) solid black;
  background:blue;
  overflow:hidden;
  
  /* ensure image is centred within outer circle */
  display:flex;
  justify-content:center;
  align-items:center;
  
  margin:1rem auto;
}
/* The inner-circle image - smaller than outer circle. */
.circular-frame img{
  width:calc(var(--d) - var(--delta));
  height:calc(var(--d) - var(--delta));
  border-radius:var(--r);
}
<div class='circular-frame'>
  <img src='//placekitten.com/600/600' alt='fluffball' title='circular image within circular container'>
</div>