css - 不透明度类修饰符打破 z-index 排序

标签 css tailwind-css

卡片组件的悬停状态会以某种方式干扰 z-index 排序。有关上下文,请参阅以下 GIF:

enter image description here

下面是两个组件的类:

(为了不让这个问题过于复杂,我不得不简化结构。如果需要,我很乐意提供更多细节。)

// Dropdown
<div className='relative h-full w-full' ref={node} onClick={handleMenuClick}>
    {/* Menu button */}
    {children} // here I render different elements based on where the Dropdown is placed
    {/* Dropdown Content */}
    // I removed some classes to show only the relevant ones
    <div className=`right top ${isMenuOpen ? 'block' : 'hidden'} absolute z-30 rounded`} 
         onClick={(e) => e.stopPropagation()}>
        ... // Dropdown content
    </div>
</div>

// Card element
<a className='bg-gray-darkest rounded-xl p-8 hover:brightness-75' // note: this is where I'm having issues
   href={props.url}>
   <img src='...' alt='...'/>
   <div className='mt-6'>
        <h4 className='font-display text-lg'>{props.name}</h4>
   </div>
</a>

我尝试通过设置不透明度与亮度的动画或使用 Tailwind 的组仅设置卡片内的一些子组件的动画来解决这个问题,但效果是一样的。此外,删除悬停状态并设置静态不透明度或亮度值也会破坏组件的顺序。

感谢您的支持!

最佳答案

感谢您提供的信息,我能够确定问题所在。虽然 Dropdown 的 z-index 为 30,但 Sidebar(下拉父组件)的隐式 z-index 为 0,将整个侧边栏置于同一层级作为页面的其余部分。

不确定不透明度如何影响浏览器在具有相同 z-index 时解释各个层的方式,但正确的方法是与页面相比增加边栏的 z-index。

关于css - 不透明度类修饰符打破 z-index 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74292233/

相关文章:

html - overflow hidden 的边距底部

javascript - 如何使用 HTML CSS JS 创建 slider /切换以更改屏幕上的字体大小

jquery - 我第一次点击 jquery 移动页面会添加溢出 :hidden on body tag

reactjs - 顺风 CSS :before pseudo class

css - Tailwind css 类未显示在 Storybook 构建中

reactjs - 为什么 Tailwind 多次声明 CSS 变量?

html - ASP.Net 表格宽度未正确显示

javascript - 如何在 Bootstrap 中制作包含 3 个以上图像的轮播?

css - 如何让 @apply 在 TailwindCSS 中工作?

css - 是否可以使用 Tailwind CSS 链接伪类?