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

如何使用CSS为图片添加内阴影及底部内阴影?

如何用CSS为图片添加内阴影及底部内阴影

一、基础内阴影实现

直接使用CSS的box-shadow属性并搭配inset关键字就能实现内阴影,但要注意:直接给<img>标签加内阴影通常看不到效果——因为图片本身会覆盖阴影,更稳妥的做法是借助容器承载图片,给容器添加内阴影:

.image-container {
  width: 300px;
  border-radius: 5%;
  overflow: hidden; /* 裁剪超出容器的内容,让阴影仅在容器内显示 */
  box-shadow: inset 10px 10px 5px rgba(255, 0, 0, 0.5); /* 用rgba设置半透明阴影更自然 */
}

.image-container img {
  width: 100%;
  height: auto;
  display: block; /* 消除图片下方默认的空白间隙 */
}

二、底部内阴影实现

只需调整box-shadow的参数,就能把阴影集中在底部:

.bottom-inset-shadow {
  width: 300px;
  border-radius: 5%;
  overflow: hidden;
  /* 参数依次为:内阴影标识、水平偏移、垂直偏移、模糊半径、扩展半径、颜色 */
  box-shadow: inset 0 15px 10px -10px rgba(0, 0, 0, 0.3);
}

.bottom-inset-shadow img {
  width: 100%;
  height: auto;
  display: block;
}

参数细节说明:

  • inset:固定标识为内阴影
  • 第一个值0:水平方向无偏移
  • 第二个值15px:垂直方向向下偏移,让阴影集中在底部区域
  • 第三个值10px:控制阴影的模糊扩散程度
  • 第四个值-10px:负数扩展半径,缩小阴影范围,避免阴影向上过度延伸
  • 最后用半透黑色,适配大多数场景的视觉需求

替代方案:用背景图实现

如果不想额外加容器,也可以把图片设为元素的背景图,直接给元素加内阴影:

.image-as-bg {
  width: 300px;
  height: 200px;
  border-radius: 5%;
  background-image: url('你的图片路径');
  background-size: cover;
  background-position: center;
  box-shadow: inset 0 15px 10px -10px rgba(0, 0, 0, 0.3);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 23:01:25