html+css 实现hover选择按钮

news2024/12/23 22:20:13

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

目录

  • 一、效果
  • 二、原理解析
    • 1.这是一个,==hover出现2个选择按钮==的效果。每个按钮都是由4部分组成,1个div,1个div的伪元素before,2个button,如下图。
      • 1.1 div元素是==最外层==的,位置和代码。
      • 1.2 div:before是白底黑字,也是默认的==文字==,位置和代码。
      • 1.3 ==2个button==按钮的位置和代码。
      • 1.4 按钮==组成==关系。
    • 2.当按钮上有鼠标时,hover效果触发,最上层的div:before隐藏,运行==transition过渡动画==效果。
    • 3.具体的变换参数,直接==看代码==,可以一键复制,查看效果
  • 三、上代码,可以直接复制使用
    • 目录
    • html
    • css

一、效果

html+css 实现hover选择按钮效果

二、原理解析

1.这是一个,hover出现2个选择按钮的效果。每个按钮都是由4部分组成,1个div,1个div的伪元素before,2个button,如下图。

实现hover选择按钮组成

1.1 div元素是最外层的,位置和代码。

div位置
div元素代码

1.2 div:before是白底黑字,也是默认的文字,位置和代码。

div:before位置
div:before文字的代码

1.3 2个button按钮的位置和代码。

2个buttn的位置
左边按钮的代码
右边按钮的代码

1.4 按钮组成关系。

按钮组成关系图

2.当按钮上有鼠标时,hover效果触发,最上层的div:before隐藏,运行transition过渡动画效果。

在hover效果触发时的变化

/*当hover时*/
.butWrap:hover::before {
    opacity: 0;
    pointer-events: none;
}

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">
        <div class="butWrap">
            <button class="butLeft">必须</button>
            <button class="butRight">一定</button>
        </div>
        <div class="butWrap">
            <button class="butLeft">必须</button>
            <button class="butRight">一定</button>
        </div>
        <div class="butWrap">
            <button class="butLeft">必须</button>
            <button class="butRight">一定</button>
        </div>
        <div class="butWrap">
            <button class="butLeft">必须</button>
            <button class="butRight">一定</button>
        </div>
    </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 {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
}

.butWrap {
    font-size: 1.2rem;
    cursor: pointer;
    position: relative;
    display: flex;
    align-items: center;
    transition: 1s;
    overflow: hidden;
}

.butWrap::before {
    content: '求点赞';
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 10;
    background: #fff;
    transition: 0.2s;
    border-radius: 3px;
    font-size: 16px;
}

.butWrap:nth-child(2)::before {
    content: '求关注';
}

.butWrap:nth-child(3)::before {
    content: '求收藏';
}

.butWrap:nth-child(4)::before {
    content: '求转发';
}

.butWrap > button {
    width: 50%;
    padding: 10px 15px;
    border: 0px;
    color: white;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;

    outline: none;
}

.butLeft {
    background: rgb(217, 20, 20);
    border-radius: 5px 0px 0px 5px;
}

.butRight {
    background: rgb(29, 161, 242);
    border-radius: 0px 5px 5px 0px;
}

.butWrap > button:hover {
    filter: brightness(400%);
}
/*当hover时*/
.butWrap:hover::before {
    opacity: 0;
    pointer-events: none;
}

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

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

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

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

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

相关文章

WEB应用(十四)---文件上传

什么是文件上传漏洞 文件上传是Web应用的常见功能&#xff0c;允许用户上传图片、视频及其他文件类型文件。如果用户上传的是木马文件&#xff0c;则服务器就会收到攻击。 对于这个漏洞的练习有一个专门的靶场&#xff0c;即upload-labs&#xff0c;这个的安装可以在windows中使…

使用TLA+形式化验证Go并发程序

Writing is natures way of letting you know how sloppy your thinking is - Guindon 在2024年6月份举办的GopherCon Europe Berlin 2024[1]上&#xff0c;一个叫Raghav Roy的印度程序员(听口音判断的)分享了Using Formal Reasoning to Build Concurrent Go Systems[2]&#x…

JavaScript基础 - 基础

目录 A. 简介 B. 基础用法 一. 使用 二. 输出 C. 语法 D. HTML DOM A. 简介 JavaScript 是一种高级的、解释型的编程语言&#xff0c;主要用于网页开发&#xff0c;以下是它的简介&#xff1a; 一、历史与发展 诞生 JavaScript 于 1995 年由 Netscape 公司的 Brendan …

DataX PostgreSQL 读写支持Geometry类型

这里写目录标题 简要说明依赖代码 简要说明 通过简单修改源码中关于相关的reader、writer和DBUtil工具类&#xff0c;实现表到表之间的Geometry字段类型数据的输送&#xff0c;目前修改仅测试过在postgresql的postgis插件下的Geometry类型可行。 依赖 1.通过gitclone 或者 到…

在Nestjs使用mysql和typeorm

1. 创建项目 nest new nest-mysql-test 2. 添加config 安装 nestjs/config 包 pnpm i --save nestjs/config 添加 .env 文件 DATABASE_HOSTlocalhost DATABASE_PORT3306 DATABASE_USERNAMEroot DATABASE_PASSWORD123456 DATABASE_DBdbtest 创建 config/database.config.…

Gstreamer实现udp帧数据的转发(一)

前言 最近有个项目&#xff0c;要求实现信息分发&#xff0c;大概意思是经过了各种交换机和电台&#xff0c;经过两个信息分发软件实现udp数据的转发&#xff0c;可能包括文本、指令、音视频等数据。 例如&#xff1a;设备1 《---》 设备2&#xff08;信息分发软件1&#xff09…

兼容性测试详解

目录 前言1. 兼容性测试的定义和重要性1.1 兼容性测试的定义1.2 兼容性测试的重要性 2. 兼容性测试的类型2.1 跨浏览器测试2.1.1 跨浏览器测试的挑战2.1.2 跨浏览器测试的方法 2.2 跨平台测试2.2.1 跨平台测试的挑战2.2.2 跨平台测试的方法 3. 兼容性测试的步骤和策略3.1 测试计…

前端错误日志上报解决方案

前言 项目上线之后&#xff0c;用户如果出现错误&#xff08;代码报错、资源加载失败以及其他情况&#xff09;&#xff0c;基本上没有办法复现&#xff0c;如果用户出了问题但是不反馈或直接不用了&#xff0c;对开发者或公司来说都是损失。 由于我这个项目比较小&#xff0c…

AI绘画工具介绍:以新奇角度分析与探索AI绘画艺术与技术的交汇点

目录 前言 一、AI绘画工具的前沿技术 1.1 深度学习的进化 1.2 GANs的创新应用 1.3 风格迁移的多样化 1.4 交互式AI绘画的智能化 二、艺术与技术的交汇点 2.1 艺术创作的普及化 2.2 艺术风格的创新 2.3 艺术与科技的深度融合 三、新颖的思考角度 3.1 AI作为艺术创作…

nginx平滑重启和php-fpm平滑重启

https://www.jianshu.com/p/c7809490979ahttp://xn--nginxphp-fpm-dc3k7692b4eb248gffzdlr6cx05cfuhyucca 1.在php-fpm.conf的配置中增加配置&#xff0c;让php-fpm重启前如果存在已经在处理的请求&#xff0c;先处理完再重启&#xff1a; 2.重启命令执行前&#xff0c;先…

【Python】简单爆破破解

暴力破解是一种针对密码的破译方法&#xff0c;通过逐个推算或使用工具批量验证来找到正确的密码。暴力破解是信息安全领域中一个非常重要的话题。在当今数字化时代&#xff0c;个人信息、企业数据和各种网络服务都依赖于密码来保护安全。因此&#xff0c;破解密码成为黑客获取…

熵权法模型(评价类问题)

一. 概念 利用信息熵计算各个指标的权重&#xff0c;从而为多指标的评价类问题提供依据。 指标的变异程度越小&#xff0c;所反映的信息量也越少&#xff0c;所以其对应的权值也应该越低。 指标的变异程度&#xff08;或称为变异性、波动性&#xff09;&#xff1a;描述了一…

AI智能名片S2B2C商城小程序在社群团购平台产品供应链优化中的应用探索

摘要&#xff1a;在社群团购这一新兴零售模式迅速崛起的背景下&#xff0c;产品供应链的效率和稳定性成为制约其进一步发展的关键因素。特别是在社群团购行业尚处于初步发展阶段的今天&#xff0c;产品资源的稀缺性尤为突出。针对这一问题&#xff0c;本文深入探讨了AI智能名片…

计算机网络408考研 2021

2021 计算机网络408考研2021年真题解析_哔哩哔哩_bilibili 1 1 11 1 1 11

飞睿智能8km无人机WiFi图传模块,高清、稳定、超远距!实时传输新高度

在数字化飞速发展的今天&#xff0c;无人机已经从一个遥不可及的科幻概念&#xff0c;变成了我们日常生活中的得力助手。无论是航拍美景、农业植保&#xff0c;还是紧急救援、物流配送&#xff0c;无人机都展现出了其独特的优势。而在这背后&#xff0c;一个至关重要的技术支撑…

VUE学习-day20

VUE学习-day20 1. 下载与安装 1.1 安装Node.js Node.js是一个免费、开源、跨平台的 JavaScript 运行时环境&#xff0c;它让开发人员能够创建服务器、Web 应用、命令行工具和脚本。 我们可以通过node.js来下载vue的组件和创建vue项目 下载安装教程:https://blog.csdn.net/…

检索增强生成 (RAG)在实践中的挑战

检索增强生成 (RAG) 应用程序已成为大型语言模型 (LLM) 领域的强大工具&#xff0c;但在从原型过渡到生产环境时&#xff0c;经常面临挑战。 RAG 模型在需要深度知识整合和情境理解的应用中尤其有效&#xff0c;例如法律研究、科学文献综述和复杂的客户服务查询。检索和生成过…

mysql 中的共享锁与排他锁

mysql 中的共享锁与排他锁 1、共享锁&#xff08;Shared Lock&#xff09;2、排他锁&#xff08;Exclusive Lock&#xff09; &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在MySQL的InnoDB存储引擎中&#xff0c;锁是管理并发访问数据的关…

Leetcode—328. 奇偶链表【中等】

2024每日刷题&#xff08;153&#xff09; Leetcode—328. 奇偶链表 实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr)…

入门岛3-Git 的使用与项目构建

任务概览 任务1: 破冰活动&#xff1a;自我介绍 任务2: 实践项目&#xff1a;构建个人项目 参考&#xff1a;git流程&#xff1a; csdn1 csdn2 任务1: 破冰活动&#xff1a;自我介绍 1.Git 是一种开源的分布式版本控制系统&#xff0c;广泛应用于软件开发领域&#xff0c;尤…