html+css 实现hover 翻转按钮

news2024/9/20 18:53:09

前言:哈喽,大家好,今天给大家分享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())操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2035039.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NCL的安装和运行;气象数据可视化;散点图、直方图、等值线图、箭头图、任意折线和任意图形、非规则网格、图形叠加、组图的绘制

NCAR Command Language&#xff08;NCL&#xff09;是由美国大气研究中心&#xff08;NCAR&#xff09;推出的一款用于科学数据计算和可视化的免费软件。它有着非常强大的文件输入和输出功能&#xff0c;可读写netCDF-3、netCDF-4 classic、HDF4、binary、ASCII数据&#xff0c…

LVS实验的三模式总结

文章目录 LVS的概念叙述NAT工作模式实战案例**思想&#xff1a;**NAT工作模式的优点NAT工作模式的缺点 NAT工作模式的应用场景大致配置 route&#xff1a;打开路由内核功能 部署DR模式集群案例工作思想&#xff1a;大致工作图如下思路模型 具体配置与事实步骤补充 防火墙标签解…

RCE漏洞复现

PHP命令执行常用函数 回调函数必须是命令执行和代码执行的函数&#xff0c;有两个条件 必须是函数&#xff0c;而且需要有函数运行的参数 危害&#xff1a;可以直接删除文件&#xff0c;添加文件&#xff0c;甚至可以添加用户 system --执行外部程序&#xff0c;并且显示输…

Ubuntu操作系统的基础操作和设置(详细且全面)(1)

前言 当Ubuntu系统被搭建完成以后&#xff0c;为了方便大家更容易上手&#xff0c;所以对常见的基础操作和设置进行讲解 1.支持中文显示&#xff0c;中文输入设置 1.1&#xff1a;支持中文显示 Ubuntu操作系统默认显示和输入的语言是英文。所以&#xff0c;如果你的英…

《虚拟之旅:开启无限可能的机器世界》简介:

1.Ubonto的介绍&#xff1a; Ubuntu 是一个流行的开源操作系统&#xff0c;基于 Linux 内核。 它具有以下一些特点和优势&#xff1a; 开源免费&#xff1a;任何人都可以免费使用、修改和分发。丰富的软件库&#xff1a;通过软件包管理器可以方便地安装各种应用程序。良好的…

Linux系统移植——开发板烧写(二)

目录&#xff1a; 目录&#xff1a; 一、什么是EMMC分区&#xff1f; 1.1 eMMC分区 1.2 分区的管理 二、相关命令介绍&#xff1a; 2.1 mmc 2.1.1 主要功能 2.1.2 示例用法 2.2 fdisk 2.2.1 基本功能 2.2.2 交互模式常用命令 2.2.3 注意事项 三、U-BOOT烧写 3.1 mmc命令 3.2 f…

Java并发面试题汇总

文章目录 线程什么是线程和进程?请简要描述线程与进程的关系,区别及优缺点?程序计数器、虚拟机栈、虚拟机栈、堆和方法区如何创建线程?线程的生命周期什么是线程上下文切换?Thread#sleep() 方法和 Object#wait() 方法对比为什么 wait() 方法不定义在 Thread 中?为什么 sle…

【解压即玩】PC端最好用最漂亮的前端CoinOPS整合包186G 复古带遮罩和滤镜,怀旧拉满

这是大神做的一个整合包&#xff0c;让游戏界面更加的漂亮&#xff0c;如图&#xff0c;下面是游戏选择画面&#xff0c;右侧是滚动的圆盘&#xff0c;左侧显示游戏的画面&#xff1a; 实际游戏时的界面是这样的&#xff1a; 应当是目前最漂亮的游戏界面了。之前有人说在电脑上…

sp eric靶机

扫描IP 端口扫描 nmap 192.168.111.146 -p- -sV 目录扫描 # 使用命令 dirsearch -u "http://192.168.111.146" 访问靶机IP地址 拼接访问 admin.php &#xff0c;发现登录框界面&#xff0c;尝试sql注入&#xff0c;弱口令等&#xff0c;没有结果 看看 .git &#…

【C语言篇】C语言常考及易错题整理DAY2

文章目录 C语言常考及易错题整理选择题编程题至少是其他数字两倍的最大数两个数组的交集图片整理寻找数组的中心下标多数元素除自身以外数组的乘积不使用加减乘除求两个数的加法 C语言常考及易错题整理 选择题 下列 for 循环的次数为&#xff08; &#xff09; for(int i 0…

高可用keepalived详解---干货满满(企业应用示例)

目录 一、master/master 的 Keepalived 双主架构 1.1 ka1部署 1.2 ka2部署 1.3 重启测试 二、实现ipvs高可用 (keepalivedlvs) 2.1 ipvs的相关配置 2.1.1 虚拟服务器配置架构 2.1.2 virtual server &#xff08;虚拟服务器&#xff09;的定义格式 2.1.3 虚拟服务器…

四十、大数据技术之Kafka3.x(3)

&#x1f33b;&#x1f33b; 目录 一、Kafka Broker1.1 Kafka Broker工作流程1.1.1 Zookeeper 存储的Kafka信息1.1.2 Kafka Broker 总体工作流程1.1.3 Broker 重要参数 1.2 生产经验——节点服役和退役1.2.1 服役新节点1.2.2 退役旧节点 1.3 Kafka 副本1.3.1 副本基本信息1.3.2…

线程知识及编程

线程定义 在Python中&#xff0c;想要实现多任务还可以使用多线程来完成。 为什么使用多线程&#xff1f; 进程是分配资源的最小单位 , 一旦创建一个进程就会分配一定的资源 , 就像跟两个人聊QQ就需要打开两个QQ软件一样是比较浪费资源的 . 线程是程序执行的最小单位 , 实际…

企业应该如何准备 EcoVadis 审核?

企业准备 EcoVadis 审核可以参考以下步骤&#xff1a; 注册&#xff1a;在网上注册并提供公司的相关信息&#xff0c;包括法律实体名称、国家和地区、企业规模和行业等。如果是受客户邀请参加评估&#xff0c;需按照邀请邮件中的链接进行注册&#xff0c;并确保客户能随时获知评…

【ML】强化学习(Reinforcement Learning)及其拆解

【ML】强化学习&#xff08;Reinforcement Learning&#xff09; 1. RL Outline 强化学习&#xff08;Reinforcement Learning&#xff09;概述1.1 RL的基本框架 2. RL 引入&#xff1a;从这个小游戏开始3. Policy Gradient 方法4. Actor-Critic 方法5. [奖励塑形&#xff08;R…

(第二十六天)

上午 1、web01与web02服务器搭建 ip:10.0.0.11 systemctl stop filewalld systemctl disable firewalld setenforce 0 vim /etc/selinux/config SELINUX disabled yum -y install nginx echo "web----------01" > /usr/share/nginx/html/index.h…

力扣热题100_二叉树_230_二叉搜索树中第K小的元素

文章目录 题目链接解题思路解题代码 题目链接 230. 二叉搜索树中第K小的元素 给定一个二叉搜索树的根节点 root &#xff0c;和一个整数 k &#xff0c;请你设计一个算法查找其中第 k 小的元素&#xff08;从 1 开始计数&#xff09;。 示例 1&#xff1a; 输入&#xff1a…

图论:欧拉路

欧拉路是什么 什么&#xff1f;你对这个名字感到很陌生&#xff1f;再看看是图论的内容&#xff0c;感觉是不是很难&#xff1f;其实一点也不难&#xff0c;这就是生活中的一笔画问题&#xff0c;也就是不重复的经过每一条边并可以访问所有的点&#xff0c;先看看这个图&#…

Python字符串格式化方法输出到控制台

python打印是这样的&#xff0c;我希望resource_id能够对齐输出&#xff1a; 3种格式化方法 %格式化 >>> pi3.141592653589793 >>> e2.718281828459045 >>> print("pi%.2f e%.3f" % (pi, e) ) pi3.14 e2.718“”.format()格式化 >…

操作系统(线程管理-通过条件变量实现消费者与生产者模型)

生产者与消费者模型 生产者&#xff1a;生产数据的线程&#xff0c;这类的线程负责从用户端、客户端接收数据&#xff0c;然后把数据Push到存储中介。 消费者&#xff1a;负责消耗数据的线程&#xff0c;对生产者线程生产的数据进行&#xff08;判断、筛选、使用、响应、存储&…