当前位置:首页 > 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实现文字按钮

Vue 实现文字按钮的方法 在 Vue 中实现文字按钮可以通过多种方式完成,以下是几种常见的方法: 使用原生 HTML 按钮元素 可以通过 <button> 标签结合 CSS 样式实现文…

css字体制作

css字体制作

CSS字体设置基础 在CSS中设置字体主要通过font-family属性实现,可以指定多个字体作为备选。系统会优先使用第一个可用字体。 body { font-family: "Helvetic…

空间css制作

空间css制作

空间 CSS 制作方法 使用 margin 和 padding 控制间距 通过调整 margin(外边距)和 padding(内边距)属性,可以控制元素之间的空间。例如: .element {…

纯css制作下拉菜单

纯css制作下拉菜单

纯CSS下拉菜单实现方法 通过CSS的:hover伪类和display属性可以实现纯CSS下拉菜单,无需JavaScript。以下是具体实现方式: HTML结构示例: <nav class=…

制作css外部

制作css外部

创建CSS外部文件的方法 新建一个纯文本文件,将文件扩展名改为.css,例如styles.css。确保文件内容只包含CSS代码,不包含HTML标签。 编写CSS内容 在CSS文件中直接编写样式规则,…

css制作开关

css制作开关

使用纯CSS制作开关 通过CSS的伪元素和input[type="checkbox"]可以创建自定义开关样式。关键点在于隐藏原生复选框,用CSS重新设计外观。 <label class="sw…