如何使用HTML和CSS制作带有棕黄色边框的卡片背景框架?
实现双层偏移边框(棕+黄)的卡片
你可以通过多层box-shadow来实现这种双层偏移边框的效果,利用box-shadow的多层特性,分别定义黄色和棕色的偏移边框,同时用背景色的阴影抵消边框的重叠部分。
修改后的CSS代码如下:
.card { --background: #ffffff; /* 卡片背景色 */ --primary: #8b5a2b; /* 棕色边框色 */ --yellow: #f7d060; /* 黄色边框色 */ background-color: var(--background); display: block; width: 300px; min-height: 90px; cursor: pointer; padding: 15px; margin: calc(50vh - 30px) auto 0 auto; border: 3px solid var(--primary); /* 卡片本身的棕色边框 */ box-shadow: /* 用背景色填充偏移空间,避免黄色边框覆盖卡片内容 */ 10px -10px 0 -3px var(--background), /* 黄色偏移边框 */ 10px -10px 0 0 var(--yellow) }
代码说明:
border: 3px solid var(--primary):实现卡片本身的棕色边框。- 多层
box-shadow逻辑:- 第一个阴影
10px -10px 0 -3px var(--background):偏移量与黄色边框一致,用背景色填充,确保黄色边框不会遮挡卡片内部内容。 - 第二个阴影
10px -10px 0 0 var(--yellow):定义黄色偏移边框,0 0保证阴影厚度和卡片边框的3px匹配。
- 第一个阴影
- 若需要在黄色边框外层再叠加棕色边框,可按相同逻辑添加两组阴影,只需将偏移量增加3px(比如
13px -13px)即可。
内容的提问来源于stack exchange,提问作者Rohit Nandagawali
相关产品推荐
相关产品推荐

