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

如何用CSS制作仿按钮样式的div(含多重边框、纹理与渐变阴影)

嘿,我来帮你搞定这个div样式!咱们一步步拆解你需要的几个核心效果:多重边框(白+深色)、纹理背景,还有内部的渐变阴影。

分步实现方案

1. 多重边框效果

实现白边在内、深色边在外的双层边框,有两种简单的CSS方案可选:

方案一:使用border + outline

这种方法不额外占用布局空间,非常灵活:

.your-div {
  border: 2px solid #ffffff; /* 内层白色边框 */
  outline: 2px solid #2d2d2d; /* 外层深色边框 */
  outline-offset: -4px; /* 调整外层边框与内层的间距,负值让它向内收缩,和白边部分重叠 */
}

方案二:使用多层box-shadow

用阴影的spread属性来模拟边框,同样不影响布局:

.your-div {
  box-shadow: 
    0 0 0 2px #2d2d2d, /* 深色外层边框(spread值为2px) */
    0 0 0 4px #ffffff; /* 白色内层边框(spread值为4px,覆盖深色的内层) */
}

2. 纹理背景效果

纯CSS就能模拟细微的纹理,比如用多层线性渐变组合出格子纹理:

.your-div {
  background-image: 
    linear-gradient(45deg, rgba(0,0,0,0.05) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(0,0,0,0.05) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(0,0,0,0.05) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(0,0,0,0.05) 75%);
  background-size: 20px 20px; /* 控制纹理的大小 */
  background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
}

你可以调整rgba的透明度、background-size来匹配你需要的纹理细腻程度。

3. 内部渐变阴影效果

要实现内容区域的轻微渐变阴影,有两种思路:

思路一:内阴影inset

如果是均匀的内部阴影,直接用inset属性:

.your-div {
  box-shadow: inset 0 0 20px rgba(0,0,0,0.1);
}

思路二:渐变叠加背景

如果需要渐变方向的阴影(比如从上到下由深变浅),可以在纹理背景上层叠加一层线性渐变:

.your-div {
  background-image: 
    /* 上层:内部渐变阴影 */
    linear-gradient(to bottom, rgba(0,0,0,0.08) 0%, transparent 100%),
    /* 下层:纹理背景 */
    linear-gradient(45deg, rgba(0,0,0,0.05) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(0,0,0,0.05) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(0,0,0,0.05) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(0,0,0,0.05) 75%);
}
完整整合示例

把所有效果组合起来,你可以用这个完整的CSS代码:

.custom-div {
  width: 300px;
  height: 200px;
  /* 多重边框 */
  border: 2px solid #ffffff;
  outline: 2px solid #2d2d2d;
  outline-offset: -4px;
  /* 纹理+渐变阴影背景 */
  background-image: 
    linear-gradient(to bottom, rgba(0,0,0,0.08) 0%, transparent 100%),
    linear-gradient(45deg, rgba(0,0,0,0.05) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(0,0,0,0.05) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(0,0,0,0.05) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(0,0,0,0.05) 75%);
  background-size: 20px 20px;
  background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
  /* 内边距让内容和边框保持距离 */
  padding: 20px;
}

你可以根据示意图的具体样式,调整边框宽度、颜色值、纹理大小、阴影透明度这些参数,直到完全匹配你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:08:08