在 React 应用中创建悬停按钮

发布日期:2026-07-03 21:46:02   来源 : 杭州电子商务研究院    浏览量 :3
杭州电子商务研究院 发布日期:2026-07-03 21:46:02  
3

介绍

本指南将讨论在 React 应用中创建悬停按钮的分步过程。我们将看到创建悬停按钮的两种方法:使用纯 CSS 和在 React 应用中使用鼠标事件。我们还将讨论悬停按钮的不同效果,例如增大、缩小、更改颜色等。

使用悬停选择器

在本部分中,您将使用纯 CSS 和:hover选择器创建一个具有悬停效果的按钮。当悬停选择器与元素一起使用时,当您将鼠标悬停在该元素上时,该元素将被选中。

此示例有一个带有className="example"和蓝色背景的div :

      import React from "react";
import "./style.css";

export default function App() {
  return (
    <div className="example">
    
    </div>
  );
}
    

以下是这个div的 CSS

      .example {
    background: blue;
    width: 400px;
    height: 400px;
    margin: 0 auto;
}
    

这个div 的外观如下:

如果您向此div添加:hover选择器,那么只要您将鼠标悬停在该div上, :hover内的 CSS就会生效。

      .example:hover {
    background: black;
}
    

在这种情况下,只要将鼠标移到.example:hover{}上,它里面的background属性就会覆盖.example下的背景属性。

您可以在Stackbitz上探索这个示例。

创建按钮

在你的App.js文件中创建一个带有className="click"的简单按钮,如下所示:

      import React from "react";
import './App.css'
function App() {
  return (
    <div className="App">
    <button className="click">Click Me!</button>
    </div>
  );
}

export default App;
    

这是您的按钮的默认外观,没有任何自定义样式。

通过在App.css文件中添加以下代码来设置此按钮的样式

      html {
    background: #b19cd9;
}

.App {
    display: flex;
}

.click {
    width: 300px;
    background: white;
    font-size: 40px;
    margin: 100px auto;
    padding: 10px;
    cursor: pointer;
}
    

上述 CSS 代码将改变应用程序的背景颜色并将按钮样式设置为如下所示。

现在您将添加将鼠标悬停在按钮上时看到的效果。

  • 不透明度
    不透明度是指元素的透明度。将以下代码添加到App.css以实现不透明度悬停效果。
      .click:hover {
    opacity: 0.3;
}
    

您可以将鼠标悬停在按钮上来查看上述代码的运行情况。

  • 颜色变化
    如上面的示例所讨论的,您可以使用这样的悬停选择器来更改按钮的颜色。
      .click:hover {
    background: palegreen;
}
    

以下是上述代码的实际运行情况。

  • 增大/缩小您可以使用 CSS 中的scale()
    函数 增大或缩小元素。您可以在此处阅读更多相关信息。

要创建增长悬停效果,请将scale()添加到transform属性。scale ()中的数字表示缩放矢量。

      .click:hover {
    transform: scale(2);     /* Equal to scaleX(2) scaleY(2) */
}
    

它看起来是这样的。

如上所示,转换是瞬时的,看起来不太对劲。您可以使用transition-duration属性添加延迟来解决这个问题。

      .click:hover {
    transform: scale(2);
    transition-duration: 0.5s;
}
    

您可以在此处看到转换的延迟。

使用相同的scale()函数,您还可以缩小元素。要缩小元素,您必须在scale()中指定一个小于 1 的数字,如下所示。

      .click:hover {
    transform: scale(0.6);
    transition-duration: 0.5s;
}
    

该效果看起来如下。

您可以在此处探索此示例

使用鼠标事件

在本节中,您将使用 React 中的鼠标事件创建具有悬停效果的按钮。根据应用程序要求,您可以使用不同的鼠标事件,例如onClickonContextMenuonDoubleClickonDragonDragEnd等。您可以在此处查看完整列表

对于悬停效果,您将使用onMouseEnteronMouseLeave事件。顾名思义,当鼠标进入元素时会触发onMouseEnter ,而当鼠标离开元素时会触发onMouseLeave 。通过示例可以更清楚地了解这一点。

例子

考虑一个与上例中讨论的蓝色div相同的div 。以下是具有内联样式的蓝色div的代码:<a href="https://translate.google.com/website?sl=en&tl=zh-CN&hl=zh-CN&client=webapp&u=https://zhenyo

以上内容来自杭州电子商务研究院推送
关注
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据