当前位置: 首页 > news >正文

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

本例图片

案例分析

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

布局代码

<button class="base">凹下的按钮</button>

基础样式

: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!

/* 凹下去的按钮 */.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); 
}

悬浮样式

.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);  */
}

点击样式

.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;
}

大功告成

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 前端使用docx-preview展示docx + 后端doc转docx
  • HexView 刷写文件脚本处理工具-基本功能介绍(六)-导出MIME/BIN/FIAT/FORD
  • Android摄像头采集选Camera1还是Camera2?
  • 面试题:Java 集合类的遍历方式,如何一边遍历 一边删除?
  • 电子电气架构 --- 基于AUTOSAR方法论的诊断开发流程
  • 02、MySQL-DML(数据操作语言)
  • k8s 四种Service类型(ClusterIP、NodePort、LoadBalancer、ExternalName)详解
  • 【Android】网络技术知识总结之WebView,HttpURLConnection,OKHttp,XML的pull解析方式
  • 如何高效管理餐厅?餐厅收银系统轻松解决!
  • pgbackrest备份方案(差异和增量备份的区别)
  • 如何在SpringBoot中进行单元测试?
  • Visual Studio Code搭建VUE开发环境
  • 【linux】curl命令用法
  • 敏捷开发模式优缺点,对测试人员有哪些要求?
  • python常用标准库
  • Google 是如何开发 Web 框架的
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • Angular6错误 Service: No provider for Renderer2
  • Asm.js的简单介绍
  • egg(89)--egg之redis的发布和订阅
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • mysql innodb 索引使用指南
  • orm2 中文文档 3.1 模型属性
  • OSS Web直传 (文件图片)
  • pdf文件如何在线转换为jpg图片
  • Zepto.js源码学习之二
  • 简单数学运算程序(不定期更新)
  • 因为阿里,他们成了“杭漂”
  • 浅谈sql中的in与not in,exists与not exists的区别
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #162 (Div. 2)
  • #LLM入门|Prompt#3.3_存储_Memory
  • #QT(QCharts绘制曲线)
  • (12)Hive调优——count distinct去重优化
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (回溯) LeetCode 78. 子集
  • (九)信息融合方式简介
  • (六)Hibernate的二级缓存
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (四)事件系统
  • (一)Neo4j下载安装以及初次使用
  • (转)用.Net的File控件上传文件的解决方案
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .NET C# 操作Neo4j图数据库
  • .NET 直连SAP HANA数据库
  • .Net多线程总结
  • .net中的Queue和Stack
  • .Net转前端开发-启航篇,如何定制博客园主题
  • .so文件(linux系统)
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚