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

如何使用纯CSS实现指定图片设计(不使用背景图仅允许用背景色)

设计效果图

实现方案

你需要的效果可以通过纯CSS元素叠加实现,完全不使用background-image属性,仅通过background-color设置背景即可完成,核心思路是用和下层区域同色的圆形伪元素模拟上层的缺口:

实现步骤

  • 先拆分上下两个区域,分别设置对应的background-color
  • 给上层区域开启相对定位,用其::after伪元素生成正圆形,背景色和下层区域完全一致
  • 把圆形伪元素绝对定位到上层底部居中位置,Y轴偏移值设为圆形高度的一半,刚好形成半圆缺口
  • 如果需要缺口外圈的白色描边效果,额外加一层尺寸更大的白色背景伪元素,z-index设为低于缺口伪元素即可

代码示例

<div class="top-block"></div>
<div class="bottom-block"></div>
/* 上层区域 */
.top-block {
  position: relative;
  height: 220px;
  background-color: #2E1A68; /* 对应设计稿的深紫色背景 */
}
/* 缺口白色外圈 */
.top-block::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -32px;
  transform: translateX(-50%);
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background-color: #fff;
}
/* 缺口本体 */
.top-block::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -30px;
  transform: translateX(-50%);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #F0EFFF; /* 和下层区域背景色完全一致 */
}
/* 下层区域 */
.bottom-block {
  height: 500px;
  background-color: #F0EFFF; /* 对应设计稿的浅紫色背景 */
}

方案优势

  • 完全符合要求,全程没有使用background-image属性,所有背景都通过background-color设置
  • 兼容性极强,支持所有主流浏览器
  • 调整伪元素的宽高、定位参数即可灵活修改缺口的大小和位置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:09:01