当前位置:首页 > CSS

css制作立体按钮

2026-04-02 11:36:19CSS

使用box-shadow创建立体效果

通过box-shadow属性可以轻松实现按钮的立体感。为按钮添加底部阴影,模拟光线从上方照射的效果:

.raised-button {
  background: #4CAF50;
  color: white;
  padding: 12px 24px;
  border: none;
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
}

.raised-button:hover {
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  transform: translateY(-2px);
}

.raised-button:active {
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  transform: translateY(1px);
}

使用border模拟3D边缘

通过设置不同颜色的边框可以创造凸起或凹陷的视觉效果:

.embossed-button {
  background: #ddd;
  color: #333;
  padding: 10px 20px;
  border-width: 3px;
  border-style: solid;
  border-top-color: #fff;
  border-left-color: #fff;
  border-right-color: #999;
  border-bottom-color: #999;
}

.embossed-button:active {
  border-top-color: #999;
  border-left-color: #999;
  border-right-color: #fff;
  border-bottom-color: #fff;
}

渐变背景增强立体感

线性渐变可以模拟光源照射产生的明暗变化:

.gradient-button {
  background: linear-gradient(to bottom, #6b8cff, #3a66ff);
  color: white;
  padding: 12px 24px;
  border: none;
  border-radius: 6px;
  box-shadow: 0 4px 0 #1a3dcc, 0 5px 10px rgba(0,0,0,0.2);
}

.gradient-button:hover {
  background: linear-gradient(to bottom, #7d9bff, #4b75ff);
}

.gradient-button:active {
  transform: translateY(4px);
  box-shadow: 0 1px 0 #1a3dcc, 0 2px 5px rgba(0,0,0,0.2);
}

使用伪元素创建高级效果

通过::before或::after伪元素可以添加额外的立体层次:

.layered-button {
  position: relative;
  background: #ff6b6b;
  color: white;
  padding: 12px 24px;
  border: none;
  border-radius: 6px;
  z-index: 1;
}

.layered-button::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #ff5252;
  border-radius: 6px;
  transform: translateY(4px);
  z-index: -1;
  transition: transform 0.2s ease;
}

.layered-button:hover::before {
  transform: translateY(6px);
}

.layered-button:active::before {
  transform: translateY(2px);
}

结合CSS变量实现动态效果

使用CSS变量可以更方便地调整立体效果的强度:

css制作立体按钮

:root {
  --button-depth: 4px;
  --button-color: #6200ee;
}

.dynamic-button {
  background: var(--button-color);
  color: white;
  padding: 12px 24px;
  border: none;
  border-radius: 4px;
  box-shadow: 0 var(--button-depth) 0 color-mix(in srgb, var(--button-color) 70%, black),
              0 calc(var(--button-depth) + 2px) 8px rgba(0,0,0,0.1);
  transition: all 0.2s ease;
}

.dynamic-button:hover {
  --button-depth: 6px;
}

.dynamic-button:active {
  --button-depth: 2px;
  transform: translateY(2px);
}

标签: 按钮css
分享给朋友:

相关文章

css制作图片

css制作图片

CSS 制作图片的方法 使用 background-image 属性 通过 background-image 属性可以为元素设置背景图片。这种方法适用于将图片作为背景而非内容的一部分。 .eleme…

css 字体库制作

css 字体库制作

创建 CSS 字体库的步骤 准备字体文件 确保拥有字体文件的合法使用权,常见的格式包括 .woff、.woff2、.ttf 或 .otf。推荐使用 woff2 格式,因其压缩率更高且现代浏览器广泛支持…

css制作简历

css制作简历

使用CSS制作简历的步骤 设计简历结构 使用HTML创建简历的基本结构,包括个人信息、教育背景、工作经历、技能等部分。确保每个部分都有清晰的标题和内容区域。 基础样式设置 通过CSS设置全局样式,包…

css制作网站导航

css制作网站导航

使用CSS制作网站导航的方法 水平导航栏 通过display: inline-block或flexbox布局实现水平导航栏。设置背景色、间距和悬停效果增强交互性。 .navbar { backg…

css制作圆弧

css制作圆弧

CSS 制作圆弧的方法 使用 border-radius 属性 通过 border-radius 可以轻松创建圆弧效果。该属性控制元素的圆角大小,值越大圆弧越明显。例如: .arc { widt…

用css制作网页

用css制作网页

CSS 制作网页基础方法 HTML 结构搭建 在开始 CSS 设计前需先完成 HTML 骨架。典型结构包含 <header>、<nav>、<main> 和 <…