带有填充的 Tailwind CSS 导航悬停下拉菜单

Posted

技术标签:

【中文标题】带有填充的 Tailwind CSS 导航悬停下拉菜单【英文标题】:Tailwind CSS Navigation Hover Dropdown with Padding 【发布时间】:2020-09-15 06:09:41 【问题描述】:

当项目悬停时,我试图在第一个导航项目上显示子 <ul> 列表:

一切正常,除了有时(碰巧),当您在第一行 <ul> 项目和子 <ul> 项目的填充之间时,辅助 <ul> 将消失:

当我从下拉菜单导航到项目列表时,如何保持二级导航列表打开?

JSFiddle

<ul class="w-full">
    <li class="dropdown inline px-4 text-purple-500 hover:text-purple-700 cursor-pointer font-bold text-base uppercase tracking-wide">
        <a>Dropdown</a>
        <div class="dropdown-menu absolute hidden h-auto flex pt-4">
            <ul class="block w-full bg-white shadow px-12 py-8">
                <li class="py-1"><a class="block text-purple-500 font-bold text-base uppercase hover:text-purple-700 cursor-pointer">Item</a></li>
                <li class="py-1"><a class="block text-purple-500 font-bold text-base uppercase hover:text-purple-700 cursor-pointer">Item 2</a></li>
                <li class="py-1"><a class="block text-purple-500 font-bold text-base uppercase hover:text-purple-700 cursor-pointer">Item 3</a></li>
                <li class="py-1"><a class="block text-purple-500 font-bold text-base uppercase hover:text-purple-700 cursor-pointer">Item 4</a></li>
                <li class="py-1"><a class="block text-purple-500 font-bold text-base uppercase hover:text-purple-700 cursor-pointer">Item 5</a></li>
            </ul>
        </div>
    </li>
    <li class="inline px-4 text-purple-500 hover:text-purple-700 cursor-pointer font-bold text-base uppercase tracking-wide"><a>Non-Dropdown</a></li>
    <li class="inline px-4 text-purple-500 hover:text-purple-700 cursor-pointer font-bold text-base uppercase tracking-wide"><a>Non-Dropdown</a></li>
    <li class="inline px-4 text-purple-500 hover:text-purple-700 cursor-pointer font-bold text-base uppercase tracking-wide lg:pr-8"><a>Non-Dropdown</a></li>
</ul>
.dropdown:hover .dropdown-menu 
  display: block;

【问题讨论】:

【参考方案1】:

3 个变化。这是jsfiddle

relative 类添加到 li 标记。 使用dropdown-menu absolute 类添加top-0。 将菜单内ul 的填充更改为p-8。只是一个小的 CSS

【讨论】:

【参考方案2】:

顺风集团

您可以使用 groupgroup-hover,它们非常简单方便

这里是完整的代码示例:tailwind-playgroud

第 1 步将 grouprelative 类添加到包装下拉列表的 div 中

<li class="group relative dropdown  px-4 text-purple-500 hover:text-purple-700 cursor-pointer font-bold text-base uppercase tracking-wide">
  <a>Dropdown</a>

第 2 步将 group-hover:block 添加到包装下拉链接的 div 中

<div class="group-hover:block dropdown-menu absolute hidden h-auto">

第 3 步将 top-0 添加到包装下拉链接的 ul 中

<ul class="top-0 w-48 bg-white shadow px-6 py-8">
    <li class="py-1"><a class="block text-purple-500 font-bold text-base uppercase hover:text-purple-700 cursor-pointer">Item</a></li>
    <li class="py-1"><a class="block text-purple-500 font-bold text-base uppercase hover:text-purple-700 cursor-pointer">Item 2</a></li>
    <li class="py-1"><a class="block text-purple-500 font-bold text-base uppercase hover:text-purple-700 cursor-pointer">Item 3</a></li>
    <li class="py-1"><a class="block text-purple-500 font-bold text-base uppercase hover:text-purple-700 cursor-pointer">Item 4</a></li>
    <li class="py-1"><a class="block text-purple-500 font-bold text-base uppercase hover:text-purple-700 cursor-pointer">Item 5</a></li>
</ul>

第 4 步这是最后一步,在 variants

tailwind.config.js 文件中添加 display: ['group-hover']
variants: 
 display:['group-hover']

【讨论】:

以上是关于带有填充的 Tailwind CSS 导航悬停下拉菜单的主要内容,如果未能解决你的问题,请参考以下文章

悬停在下拉菜单上时保持主导航项悬停 CSS

如何创建在英雄内容顶部下拉的响应式菜单(Tailwind CSS ...)[关闭]

(Tailwind - DaisyUI) 有没有办法改变下拉项目的悬停和活动颜色?

使用 Tailwind 悬停时的 SVG 颜色填充

将导航选项卡添加到 Tailwind CSS 导航栏

导航悬停在桌面,点击移动