You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现中心图片+环形环绕图片的布局效果

Circular Image Layout: Center + Surrounding Images

Got it, let's get those images arranged in a perfect circle with one centered! Here's a straightforward solution using CSS positioning and transforms—no fancy frameworks required.

Step-by-Step Breakdown

  1. Parent Container: We'll use a relative-positioned container as our layout reference. This lets all child images position themselves relative to its center.
  2. Center Image: Use absolute positioning + transform to lock this image dead-center in the container.
  3. Surrounding Images: For the 6 outer images, we'll space them 60° apart (360°/6 = 60°) around the center. We'll rotate each image to its spot, translate it outward to the circle edge, then rotate it back so the image stays upright.

Complete Working Code

<html>
<head>
<style>
/* Base styles for all images */
img {
  border-radius: 50%;
  width: 100px; /* Adjust size to your preference */
}

/* Parent container - defines the circle's bounds */
.circle-container {
  position: relative;
  width: 400px;
  height: 400px;
  /* Optional: Uncomment below to visualize the circle outline */
  /* background: aqua;
  border: 3px solid blue;
  border-radius: 50%; */
}

/* Center image positioning */
.center-img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Base style for surrounding images */
.circle-img {
  position: absolute;
  top: 50%;
  left: 50%;
  /* Translate outward to the circle edge - adjust this value to resize the circle */
  transform: translate(-50%, -50%) rotate(0deg) translate(150px) rotate(0deg);
}

/* Position each surrounding image at 60° intervals */
.circle-img:nth-child(2) {
  transform: translate(-50%, -50%) rotate(60deg) translate(150px) rotate(-60deg);
}
.circle-img:nth-child(3) {
  transform: translate(-50%, -50%) rotate(120deg) translate(150px) rotate(-120deg);
}
.circle-img:nth-child(4) {
  transform: translate(-50%, -50%) rotate(180deg) translate(150px) rotate(-180deg);
}
.circle-img:nth-child(5) {
  transform: translate(-50%, -50%) rotate(240deg) translate(150px) rotate(-240deg);
}
.circle-img:nth-child(6) {
  transform: translate(-50%, -50%) rotate(300deg) translate(150px) rotate(-300deg);
}
</style>
</head>
<body>
<h2>Rounded Circular Images</h2>
<div class="circle-container">
  <img src="img_avatar.png" alt="Center Avatar" class="center-img">
  <img src="img_avatar.png" alt="Surrounding Avatar" class="circle-img">
  <img src="img_avatar.png" alt="Surrounding Avatar" class="circle-img">
  <img src="img_avatar.png" alt="Surrounding Avatar" class="circle-img">
  <img src="img_avatar.png" alt="Surrounding Avatar" class="circle-img">
  <img src="img_avatar.png" alt="Surrounding Avatar" class="circle-img">
  <img src="img_avatar.png" alt="Surrounding Avatar" class="circle-img">
</div>
</body>
</html>

Easy Customizations

  • Image Size: Tweak the width value in the img selector to make all images larger or smaller.
  • Circle Radius: Adjust the translate(150px) value in .circle-img selectors—bigger numbers expand the outer circle, smaller ones shrink it.
  • Container Size: Update the width and height of .circle-container to fit your layout needs.
  • Visual Guides: Uncomment the background/border lines in .circle-container to see the circle outline while adjusting positions.

This method works because CSS transforms let us manipulate each image's position without breaking the layout flow. The double rotation (rotate X, translate, rotate -X) ensures images stay facing forward instead of tilting with the circle's angle.

内容的提问来源于stack exchange,提问作者Ashok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 14:18:11