【问题标题】:Disable Ripple effect on MUI Button and add custom禁用 MUI 按钮上的波纹效果并添加自定义
【发布时间】:2022-03-06 20:47:35
【问题描述】:

我想移除按钮上的波纹效果并在 MUI 按钮中实现我的自定义效果。我已经使用 disableRipple 移除了波纹。我尝试在用户单击元素时应用阴影,但不知何故它不起作用。

import * as React from "react";
import Button from "@mui/material/Button";
import { alpha } from "@mui/material/styles";

export default function DefaultProps() {
  return (
    <Button
      variant="outlined"
      // className='Mui-focusVisible'
      disableRipple
      sx={{
        "&:hover": {
          boxShadow: `0px 0px 0px 0px ${alpha("#000", 0.16)}`
        },
        "&.Mui-focusVisible": {
          boxShadow: `0px 0px 0px 50px ${alpha("#000", 0.16)}`
        },
        "&.Mui-active": {
          boxShadow: `0px 0px 0px 8px ${alpha("#000", 0.16)}`
        }
      }}
    >
      Change default props
    </Button>
  );
}

我已经使用 Mui-focusVisible 在点击时应用阴影,这里提到的是doc

disableRipple bool false
如果为 true,则禁用波纹效果。 ⚠️ 没有涟漪,默认情况下 :focus-visible 没有样式。请务必通过 .Mui-focusVisible 类应用单独的样式来突出显示元素。

我的主要目的是实现和 Ant Design 一样的点击效果。在此处查看按钮:https://ant.design/components/button/

沙盒:https://codesandbox.io/s/defaultprops-material-demo-forked-rhggn?file=/demo.js

谁能帮帮我?

【问题讨论】:

    标签: javascript css reactjs material-ui css-animations


    【解决方案1】:

    解决办法


    给你...它被称为脉冲效应。我添加了魔法发生的style.css 文件。请参阅分叉的 CodeSandbox sn-p here。

    更新

    我在sx 中应用了相同的代码。请参阅 StackBlitz sn-p here。

    【讨论】:

    • 这很好也很正确,但我希望在 styleOverrides 或 Sx 中也一样?你能做到吗?
    • 我更新了我的答案。出于某种原因,CodeSandbox 无法在我当前使用的计算机上运行,​​这就是我使用 StackBlitz 的原因。只需将代码复制粘贴到您的项目中即可。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    相关资源
    最近更新 更多