pen*_*uin 6 vue.js tailwind-css
目前,当我将鼠标悬停在 Vue 中的 div 上时,我在使用 TailwindCSS 显示按钮时遇到了一些麻烦。通常,我会使用 CSS 来完成,但我想使用顺风来完成。
我使用可见性引用了文档,但它没有按预期工作。屏幕相关元素的可见性正常吗?或者它也可以用于按钮和其他内容?
代码
<div>
<button class="text-white invisible hover:visible">Hello</button>
</div>
Run Code Online (Sandbox Code Playgroud)
小智 67
将其添加到您的tailwind.config.js
文件中
variants: {
extend: {
display: ["group-hover"],
},
},
Run Code Online (Sandbox Code Playgroud)
然后添加group
到您的父级 div 和hidden
您group-hover:block
希望在父级悬停时显示的子元素。
<div class="group">
<button class="hidden group-hover:block">Child</button>
</div>
Run Code Online (Sandbox Code Playgroud)
小智 10
您不能将鼠标悬停在隐藏元素上。
一种解决方案是使用不透明度
<div>
<button class="text-white opacity-0 hover:opacity-100">Hello</button>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我的解决方案:
<div class="group">
<button class="text-white hidden group-hover:block">Hello</button>
</div>
Run Code Online (Sandbox Code Playgroud)
如您所见,我正在使用group
该类,该类将规则应用于子项而不是自身。
所以当我写的时候,我group-hover:block
说:“block
如果有一个:hover
事件在我的直接父级和类上调度,则将类应用于这个元素group
”。
pen*_*uin -7
根据我的研究和建议,我被告知要使用不透明度,但不透明度并不能真正给人一种良好的 UI/UX 感觉,所以我采用了另一种在 vue 中创建私有布尔对象的方法,例如
private hover: boolean = false;
注意我发现@mouseover
并且@mouseleave
在 Vue 中仍然可行。
然后在我的.vue
文件中我会考虑使用布尔变量来触发我想要隐藏和显示的目标。那就是
在您想要在悬停时隐藏和显示的目标按钮或元素上
<div class="mt-2 mb-2"
`@mouseover = "hover = true"`
`@mouseleave = "hover = false"`
>Hello World
</div>
Run Code Online (Sandbox Code Playgroud)
注意:我将 Vue 与 Typescript 结合使用来实现这样的事情。