CSS技巧专栏:一日一例 20-纯CSS实现点击会凹陷的按钮

本例图片

案例分析

其实这个按钮非常的简单啊,主要就是利用了box-shadow的inset。

布局代码

html 复制代码
<button class="base">凹下的按钮</button>

基础样式

css 复制代码
:root{
  --main-bg-color: #dcdcdc; /* 将页面背景色调整为浅灰色 */
  --color:#000;
  --hover-color:#993399;
}
button{
  margin: 0.3em;
  outline: 0;
  border: none;
}
.base{
  position: relative;   
  padding: 1rem 3rem; /* 用 padding 撑起按钮的宽度和高度 ,并确保了按钮文字水平方向居中 */
  font-family: "微软雅黑", sans-serif;
  font-size: 1.5rem;  
  line-height: 1.5rem; /* 行高和字号大小相等,可以实现按钮文字在按钮内垂直居中 */ 
  font-weight:700;
  color: var(--color);  /* 文字颜色为预定义的前景色 */
  cursor: pointer;   /* 鼠标移动到按钮上时候的形状:手型 */
  user-select: none;  /* 让用户不能选择按钮上的文字 */
  white-space: nowrap; /* 避免英文单词间的空格导致文字换行 */
  border-radius: 2rem; 
  text-decoration: none; 
  text-transform:uppercase; /* 字母自动修正为大写 */
  transition: all .5s; /* 按钮响应动画效果的持续时间 */
  margin: 1.5rem 2rem;
}

按钮样式,Let's do it!

css 复制代码
/* 凹下去的按钮 */

.push_down{
  color: #333;
  cursor: pointer;  
  border:1px solid var(--main-bg-color);
  height: 60px;
  background: var(--main-bg-color);
  transition: 0.3s;  
  text-shadow: 1px 2px 1px rgba(255, 255, 255, 0.9); 
}

悬浮样式

css 复制代码
.push_down:hover{
  background-color: var(--hover-bg);
  /* box-shadow: 0 0px 30px 0 rgba(225, 225, 225, 1),inset 0 1px 0 0 rgba(255, 255, 255, 0.7);  */
}

点击样式

css 复制代码
.push_down:active{
  color: #666;
  box-shadow:0px 1px 30px rgba(0, 0, 0, 0.03)inset, 2px 2px 2px rgba(0, 0, 0, 0.029)inset,0px 1px 1px rgba(0, 0, 0, 0.06) inset,0px -1px 0px rgba(255, 255, 255, 0.06) inset,5px 5px 6px rgba(0, 0, 0, 0.027) inset,10px 9px 12px rgba(0, 0, 0, 0.07) inset;
  text-shadow: 1px 2px 1px rgba(255, 255, 255,1); 
  transition: 0.3s;
}

大功告成

希望对可爱漂亮又富有爱心的你有所帮助!嘿嘿,别忘了,给我点赞+关注+评论哦!我在下面等你。。咳咳。。。下面评论区等你!

相关推荐
萌萌哒草头将军3 小时前
⚡⚡⚡尤雨溪宣布开发 Vite Devtools,这两个很哇塞 🚀 Vite 的插件,你一定要知道!
前端·vue.js·vite
小彭努力中3 小时前
7.Three.js 中 CubeCamera详解与实战示例
开发语言·前端·javascript·vue.js·ecmascript
浪裡遊4 小时前
跨域问题(Cross-Origin Problem)
linux·前端·vue.js·后端·https·sprint
LinDaiuuj4 小时前
判断符号??,?. ,! ,!! ,|| ,&&,?: 意思以及举例
开发语言·前端·javascript
敲厉害的燕宝4 小时前
Pinia——Vue的Store状态管理库
前端·javascript·vue.js
Aphasia3115 小时前
react必备JavaScript知识点(二)——类
前端·javascript
玖玖passion5 小时前
数组转树:数据结构中的经典问题
前端
呼Lu噜5 小时前
WPF-遵循MVVM框架创建图表的显示【保姆级】
前端·后端·wpf
珠峰下的沙砾5 小时前
Vue3 里 CSS 深度作用选择器 :global
前端·javascript·css
航Hang*5 小时前
WEBSTORM前端 —— 第2章:CSS —— 第3节:背景属性与显示模式
前端·css·css3·html5·webstorm