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

如何使用CSS实现褶皱纸张背景效果?

用纯CSS实现褶皱纸张背景可行吗?

完全可行!通过CSS的渐变、多重背景、伪元素以及滤镜等特性,可以模拟出接近真实褶皱纸张的效果,无需依赖任何图片资源。

实现思路

  • 用线性渐变模拟纸张的底色和轻微明暗纹理
  • 用多重径向渐变叠加出褶皱的阴影效果
  • 借助伪元素添加边缘的褶皱细节
  • 用filter: noise()和filter: blur()增强真实感

完整代码示例

.paper {
  width: 800px;
  height: 1000px;
  background: 
    /* 叠加褶皱阴影 */
    radial-gradient(circle at 20% 50%, rgba(0,0,0,0.05) 0%, transparent 20%),
    radial-gradient(circle at 80% 80%, rgba(0,0,0,0.05) 0%, transparent 20%),
    radial-gradient(circle at 40% 20%, rgba(0,0,0,0.05) 0%, transparent 30%),
    radial-gradient(circle at 90% 40%, rgba(0,0,0,0.05) 0%, transparent 20%),
    radial-gradient(circle at 30% 80%, rgba(0,0,0,0.05) 0%, transparent 20%),
    /* 纸张底色 + 细微纹理 */
    linear-gradient(135deg, #f8f5f0 0%, #f0ece4 100%);
  position: relative;
  filter: noise(0.5%);
}

.paper::before, .paper::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.paper::before {
  /* 边缘褶皱阴影 */
  background: 
    linear-gradient(90deg, rgba(0,0,0,0.03) 0%, transparent 5%, transparent 95%, rgba(0,0,0,0.03) 100%),
    linear-gradient(180deg, rgba(0,0,0,0.03) 0%, transparent 5%, transparent 95%, rgba(0,0,0,0.03) 100%);
  filter: blur(1px);
}

.paper::after {
  /* 随机褶皱线条 */
  background: 
    repeating-linear-gradient(
      45deg,
      transparent,
      transparent 2px,
      rgba(0,0,0,0.02) 2px,
      rgba(0,0,0,0.02) 4px
    ),
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 2px,
      rgba(0,0,0,0.01) 2px,
      rgba(0,0,0,0.01) 4px
    );
  opacity: 0.5;
}

自定义调整技巧

  • 调整径向渐变的位置、大小和透明度,可模拟不同分布的褶皱
  • 修改filter: noise()的数值,能控制纸张纹理的粗糙程度
  • 替换底色渐变的色值,可匹配泛黄旧纸、纯白新纸等不同风格

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 15:50:25