繁体   English   中英

如何从 Ant Design 中的菜单项悬停中删除突出显示?

[英]How to remove highlight from menu item hover in Ant Design?

如何从antd 菜单项中删除onHover突出显示?

我做了以下事情:

<Header className="header">
    <Menu mode="horizontal" style={{ lineHeight: "50px" }}>
        <Menu.Item key="1">
        <Title {...props} />
        </Menu.Item>
        <Menu.Item key="3">
        <FrequentItems {...props} />
        </Menu.Item>
        <Menu.Item key="2" style={{ float: "right" }}>
        <ProfileSettings {...props} />
        </Menu.Item>
    </Menu>
    {/* <Content>
        <Title {...props} />
    </Content> */}
</Header>

菜单项按预期显示,但当鼠标悬停在任何菜单项上时,它会突出显示下划线。 我怎么能避免这种情况?

目前处于悬停状态,如下所示:

在此处输入图片说明

悬停时出现蓝线。 我希望菜单项之一是静态文本。 不可点击,悬停时颜色不应改变。

如果你只想要一个不可点击的静态文本,没有悬停样式- 只需使用Menu.Itemdisabled属性

<Menu.Item disabled>
    Disbaled
</Menu.Item>

如果要覆盖所有项目的悬停样式,则需要声明样式并将它们应用于 Menu.Item:

你的css类:

// ugly css hack
.modified-item:hover {
  border-bottom: 2px solid transparent !important;
  color: inherit !important;
}

并将其添加为className道具:

<Menu.Item className="modified-item">
    Modified
</Menu.Item>

这是一个演示:

编辑 6zlnxp931n

请记住,Ant 设计敦促不要这样做

您可以覆盖其样式,但我们不建议这样做。 antd 不仅是一组 React 组件,更是一个设计规范。

这是适用于 antd v4 的解决方案:

.ant-menu-horizontal, .ant-menu-item::after, .ant-menu-submenu::after {
    border: none !important;
}

悬停创建伪元素::after负责该行,因此只需将其隐藏即可。

.ant-menu-root {
    > li:nth-of-type(1) {
        &::after {
            display: none;
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM