【博学谷学习记录】超强总结,用心分享|纯css-炫酷的按钮

本文主要是介绍【博学谷学习记录】超强总结,用心分享|纯css-炫酷的按钮,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1c3b2202d8cf494292ea58a9abbef3a7.gif

今天我分享一个我捣鼓的按钮

1.首先我们先在html 啪啪一顿敲 弄出个基本的按钮(相信对于大家来说应该没有难度)

077835d833ba42c49113af5e95bf8fc4.png

 2.我们观察一下动图,发现我做的这个按钮 是有一个会动的边框的

所以我们需要给按钮添加一个before的伪元素,根据子绝父相的原则,给父元素按钮添加相对定位,给伪元素before添加绝对定位,并设置一个红色的背景(这个红色后面可以更换)

并且我们需要将before的z-index调成-1(z-index:-1;),按钮的z-index调成1(z-index:1;),确保before这个伪元素不会盖住我们的文字

8d60d5f2180b482a9c88d8c2497338d9.png

 3.将before这个伪元素 定位到按钮的右下部分,

3ede1405c91946319723f14bb9b76e21.png

4.然后设置一个旋转的css函数,并且before这个伪元素调用这个旋转函数(效果如gif图)

2a814562ca604d9a90117c0722bb8d71.gif

 5.然后我们再添加一个after的伪元素,这个伪元素略小于按钮,并且设置绝对定位

51ccd618f01045fc98160ebeceda6b92.png

6.再通过定位调整位置,居中压住before的中间

 9c1cc31e72ed4a21b1af7bcd6ecac6fc.png

 7. 然后我们调整after的颜色和层次(z-index:-1;),

29324c19c371420bb43d904a3650bfed.png

8.然后我们在给按钮添加一个  overflow: hidden; 的属性,就得到了下面这个样子

c05179ac975a429ba811ecd434136f26.png

 9.最后 我们对before 进行微调  适当增加before的宽高 和改变before的颜色,就得到了最终的效果

 18876cb176ec47b498798eb15d455013.gif

 感谢大家的支持!!!以下是本按钮的代码 希望可以给大家更多的灵感!

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>彩色旋转边框</title><style>/* 划定一个黑色范围 便于我们观看例子*/.box{display: flex;justify-content: space-around;align-items: center;width: 100%;height: 600px;background-color: #000;}/* 按钮的基础样式 */.color-button{position: relative;width: 200px;height: 60px;/* background-color: #fff; */border: 1px solid rgb(143, 238, 230);border-radius: 25px;text-align: center;line-height:60px;color: #fff;z-index:1;overflow: hidden;}/* 添加一个比按钮1/4稍微大一点的before伪元素 */.color-button::before{position: absolute;top: 50%;left: 50%;content: "";/* 旋转体的宽高决定了边框环绕的样式 */width: 120px;height:100px;background-color: rgb(143, 238, 230);z-index: -1;transform-origin: left top;/* 调用旋转动画 2秒一个周期 无限循环 匀速 */animation: rotate 2s infinite linear;}/* 添加一个略小于按钮的遮盖伪元素 可以盖住旋转的伪元素中间多余的部分*/.color-button::after{position: absolute;top: 5px;left: 5px;content: "";width: 190px;height: 50px;/* 修改按钮颜色可以在这里修改 */background-color: #000;border-radius:19px;z-index: -1;}@keyframes rotate {to{transform: rotate(360deg);}}</style>
</head>
<body><div class="box"><div class="color-button">登录</div></div>
</body>
</html>

 

#【博学谷学习记录】超强总结,用心分享#

 

 

这篇关于【博学谷学习记录】超强总结,用心分享|纯css-炫酷的按钮的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/600964

相关文章

前端高级CSS用法示例详解

《前端高级CSS用法示例详解》在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交互和动态效果的关键技术之一,随着前端技术的不断发展,CSS的用法也日益丰富和高级,本文将深... 前端高级css用法在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方