欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > html+css 实现hover 翻转按钮

html+css 实现hover 翻转按钮

2024/10/24 13:23:35 来源:https://blog.csdn.net/qq_33650655/article/details/141113047  浏览:    关键词:html+css 实现hover 翻转按钮

前言:哈喽,大家好,今天给大家分享html+css 绚丽效果!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕

共同探索软件研发!敬请关注【宝码香车】
csdngif标识

目录

  • 一、效果
  • 二、原理解析
    • 1.这是一个,hover翻转按钮的效果。这其实是用==一个元素==实现的。每个按钮添加了伪元素before和after所以是由3部分组成,a,a:before,a:after,如下图。
      • 1.1 重要点1:
      • 1.2 重要点2:
      • 1.3 按钮组成关系。
    • 2.当按钮上有鼠标时,hover效果触发,运行==transition过渡动画==效果。
    • 3.具体的变换参数,直接==看代码==,可以一键复制,查看效果
  • 三、上代码,可以直接复制使用
    • 目录
    • html
    • css

一、效果

html+css 实现hover 翻转按钮效果

二、原理解析

1.这是一个,hover翻转按钮的效果。这其实是用一个元素实现的。每个按钮添加了伪元素before和after所以是由3部分组成,a,a:before,a:after,如下图。

按钮浏览器组成

 <a class="overturnBut" data-back="求点赞" data-front="求点赞"></a>

1.1 重要点1:

content

伪元素before和after的content是采用了属性变量 content: attr(data-front);content: attr(data-back);所以看上去像2个元素。

1.2 重要点2:

transform

before元素transform: translateY(0) rotateX(0);正常没有变化
after元素 transform: translateY(-50%) rotateX(90deg);后移(y轴后移50%)、旋转90度,相当于不显示了。
before的transform和content
after的transform和content

1.3 按钮组成关系。

按钮组成关系侧视图

2.当按钮上有鼠标时,hover效果触发,运行transition过渡动画效果。

/*当hover时*/
.overturnBut:hover:after {opacity: 1;transform: translateY(0) rotateX(0);
}
.overturnBut:hover:before {/*opacity: 0;*/transform: translateY(50%) rotateX(90deg);
}

3.具体的变换参数,直接看代码,可以一键复制,查看效果

三、上代码,可以直接复制使用

目录

目录

html

<!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>html+css 实现hover 翻转按钮</title><link rel="stylesheet" href="./style.css">
</head>
<body>
<div class="container"><h1 style="text-align: center;color:#fff;margin-bottom: 50px;padding-top: 50px; text-shadow: 0 3px 3px #4c6ed3;">html+css 实现hover 翻转按钮</h1><div class="wrapper"><a class="overturnBut" data-back="求点赞" data-front="求点赞"></a><a class="overturnBut" data-back="求关注" data-front="求关注"></a><a class="overturnBut" data-back="求收藏" data-front="求收藏"></a><a class="overturnBut" data-back="求转发" data-front="求转发"></a></div>
</div></body>
</html>

css

* {margin: 0;padding: 0;box-sizing: border-box;
}:root {--btn-bg-color: #fff;--font-color-black: #000;--btn-bg-color-hover: #FF5833;
}
.container {min-height: 100vh;background-color: #0e1538;
}
.wrapper {margin-top: 130px;display: flex;flex-direction: column;justify-content: center;align-items: center;gap: 40px;
}.overturnBut{opacity: 1;outline: 0;color: #fff;line-height: 40px;position: relative;text-align: center;letter-spacing: 1px;display: inline-block;text-decoration: none;font-family: "微软雅黑";font-weight: 700;text-transform: uppercase;
}.overturnBut:before {top: 0;left: 0;opacity: 1;color: #adadaf;display: block;padding: 0 30px;line-height: 40px;transition: 0.5s;position: relative;background: #323237;content: attr(data-front);transform: translateY(0) rotateX(0);
}.overturnBut:after {top: 0;left: 0;opacity: 0;width: 100%;color: #323237;display: block;transition: 0.5s;position: absolute;background: #adadaf;content: attr(data-back);transform: translateY(-50%) rotateX(90deg);
}/*当hover时*/
.overturnBut:hover:before {/*opacity: 0;*/transform: translateY(50%) rotateX(90deg);
}.overturnBut:hover:after {opacity: 1;transform: translateY(0) rotateX(0);
}

到此这篇文章就介绍到这了,更多精彩内容请关注本人以前的文章或继续浏览下面的文章,创作不易,如果能帮助到大家,希望大家多多支持宝码香车~💕


整理不易,点赞关注宝码香车

更多专栏订阅推荐:
👍 html+css+js 绚丽效果
💕 vue
✈️ Electron
⭐️ js
📝 字符串
✍️ 时间对象(Date())操作

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com