当前位置:首页 > CSS

css立体按钮制作

2026-03-12 12:28:27CSS

使用box-shadow创建立体效果

通过多层box-shadow叠加模拟光线投射的阴影效果,增强按钮的立体感。颜色从深到浅渐变,偏移量逐渐减小:

.button {
  box-shadow: 
    0 4px 0 #1a5fb4,  /* 底部主阴影 */
    0 7px 0 rgba(0, 0, 0, 0.2),  /* 增强深度 */
    inset 0 1px 0 rgba(255, 255, 255, 0.3);  /* 顶部高光 */
}

添加过渡和交互效果

结合:active伪类实现按下效果,通过transformbox-shadow调整制造按压动画:

.button {
  transition: transform 0.1s, box-shadow 0.1s;
}
.button:active {
  transform: translateY(4px);  /* 下沉效果 */
  box-shadow: 
    0 1px 0 #1a5fb4,  /* 减少阴影层数 */
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

渐变背景增强质感

使用线性渐变模拟光源方向,顶部亮色到底部暗色的过渡:

.button {
  background: linear-gradient(to bottom, #4a9ff5 0%, #1a5fb4 100%);
  border: none;
  border-radius: 8px;  /* 圆角增强现代感 */
}

完整代码示例

整合所有效果的完整CSS代码:

css立体按钮制作

.raised-button {
  padding: 12px 24px;
  font-size: 16px;
  color: white;
  background: linear-gradient(to bottom, #4a9ff5 0%, #1a5fb4 100%);
  border: none;
  border-radius: 8px;
  box-shadow: 
    0 4px 0 #1a5fb4,
    0 7px 0 rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  transition: transform 0.1s, box-shadow 0.1s;
  cursor: pointer;
}

.raised-button:active {
  transform: translateY(4px);
  box-shadow: 
    0 1px 0 #1a5fb4,
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

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

相关文章

vue实现按钮渐变

vue实现按钮渐变

实现按钮渐变的几种方法 使用CSS线性渐变 通过CSS的background属性结合linear-gradient函数实现颜色渐变效果。在Vue组件的<style>部分直接定义样式: .…

css二级菜单制作

css二级菜单制作

使用纯CSS实现二级菜单 通过嵌套HTML结构和CSS选择器实现二级菜单的显示与隐藏效果。以下是一个基础实现方案: HTML结构: <ul class="menu"> <li…

css制作表单

css制作表单

使用CSS制作表单的基本方法 创建一个美观且功能完善的表单需要结合HTML结构和CSS样式。以下是关键步骤和示例代码: HTML基础结构 <form class="my-form"&…

css怎么制作表格

css怎么制作表格

使用HTML和CSS创建表格 HTML提供<table>标签用于创建表格结构,结合CSS可以自定义样式。以下是基本实现方法: HTML结构 <table> <th…

css如何制作三角形

css如何制作三角形

使用 border 属性制作三角形 通过设置元素的 border 属性,利用边框的透明特性可以创建三角形。将一个元素的宽度和高度设为 0,然后通过设置不同方向的边框宽度和颜色来实现。 .triang…

css制作tkd

css制作tkd

CSS 制作 TKD(Title, Keywords, Description) TKD(Title, Keywords, Description)是网页 SEO 优化的核心元素,通常通过 HTML…