效果图
依据
导航菜单 Menu - Ant Design为页面和功能提供导航的菜单列表。https://ant-design.antgroup.com/components/menu-cn#submenutype关键:SubMenuType的popupClassName是子菜单样式 = hover弹出二级菜单的dom外部类名
步骤(思路1)
-
<Menu items={xxItems}/>
-
定义选项,指定二级菜单的popupClassName,可多个
const xxItems = [{label: '尺寸',key: 'size',popupClassName: 'xxxclass max-w-sm',children: [{key: 's1',label: '1:1'},{key: 's2',label: '3:4'}]} ];
-
在自己的css中定义"xxxclass"以及二级菜单弹窗的dom的样式,下面有ul > li,设置:
.xxxclass {width: 100% !important; }.xxxclass>ul {display: flex;flex-wrap: wrap; } .xxxclass>ul>li {display: inline-block;width: auto!important; }
-
OK
步骤(思路2)
不要把弹出窗塞到menu,自己另写一个独立的悬浮DOM,使用变量控制显示;
然后:menu的某按钮的点击事件 > 修改变量 > 显示悬浮DOM > 自己关闭此DOM
坏处:... 不大好衔接
好处:随便定义样式,图标、图片、标题随便弄