Tailwind CSS 变体失效:为什么 button 的 hocus:border_always 样式在获得焦点时无法生效?

tailwind css 变体失效:为什么 button 的 hocus:border_always 样式在获得焦点时无法生效?

tailwind css 变体失效:焦点样式无效

本例中,button 的 hocus:border_always 样式在通过 tab 获取焦点时无法生效。背后的原因是,默认情况下,hocus 变体仅包含 :focus 和 :hover 状态,而对 outline-none 等焦点辅助状态的支持并不完善。

解决方案:

为了解决这个问题,需要:

  1. 更新 .border_always 实用工具类,包括 outline-none 来禁用原生浏览器焦点轮廓:
@layer utilities {
  .border_always {
    @apply border-2 border-solid border-red-500 outline-none;
  }
}
  1. 扩展 hocus 变体以包括 focus-visible 状态,该状态涵盖了通过键盘、指针或语音控件获取焦点的情况:
addVariant('hocus', ['&:focus', '&:hover', '&:focus-visible'])

更新代码后,hocus:border_always 样式将在通过任何方法获取焦点时生效。

以上就是Tailwind CSS 变体失效:为什么 button 的 hocus:border_always 样式在获得焦点时无法生效?的详细内容,更多请关注硕下网其它相关文章!