use*_*977 5 css-transitions vuejs2 tailwind-css
当我尝试使用 Tailwind 中的默认“w-#”选项进行转换时,我的转换不适用。当我在自己的类中硬编码宽度时,它工作正常。Tailwinds CSS 有什么奇怪的地方以及它如何处理会导致这种情况的宽度?
这是 HTML 文本。这里的主要部分是动态类“sidebarWidth”,它在按钮被点击时切换。全部过渡、最慢和轻松是我在 Tailwind 中扩展的所有内容。
<nav class="text-white absolute md:relative flex-col min-h-full bg-black mt-24 md:mt-12 transition-all transition-slowest ease" :class="sidebarWidth">
Run Code Online (Sandbox Code Playgroud)
这是Vue组件的计算属性中的JS代码
sidebarWidth: function() {
if (this.$store.getters.isSidebarCollapsed) {
return "w-14 invisible md:visible";
} else {
return "w-64";
}
}
Run Code Online (Sandbox Code Playgroud)
如果我将 w-14 和 w-64 换成以下课程,效果会很好。
sidebarWidth: function() {
if (this.$store.getters.isSidebarCollapsed) {
return "w-14 invisible md:visible";
} else {
return "w-64";
}
}
Run Code Online (Sandbox Code Playgroud)
我基本上希望我的侧边栏导航在我单击按钮时滑入。在移动设备中,侧边栏导航是隐藏的,我希望它滑出。在桌面上,它应该是一个小的导航,然后滑出到全屏导航。它有效,但幻灯片过渡不起作用。此外,移动设备和桌面设备之间的边距变化确实可以正确设置动画。
小智 10
您需要执行几个步骤来激活您正在寻找的行为。
第一个是关于通过tailwind.config.js
. 您需要添加transitionProperty
for width
。
module.exports = {
...
theme: {
...
extend: {
...
transitionProperty: {
'width': 'width'
},
},
},
}
Run Code Online (Sandbox Code Playgroud)
上面的更改创建了transition-width
类。只需将此应用到您的导航标签即可。在您的特定情况下,您可以覆盖transition-all
该类。
<nav class="text-white absolute md:relative flex-col min-h-full bg-black mt-24 md:mt-12 transition-width transition-slowest ease" :class="sidebarWidth">
Run Code Online (Sandbox Code Playgroud)
最后一步非常简单:确保 Tailwind 正在重新创建 CSS。之后,您应该会在项目中看到平滑的宽度过渡。
默认情况下,Tailwind CSS 中不会激活宽度和高度过渡。这是使用transition
类时将应用的 CSS 。
transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: 150ms;
Run Code Online (Sandbox Code Playgroud)
就像您可以看到width
并且height
在transition-property
.
您可以在Tailwind 文档 中找到有关它的更多信息。
归档时间: |
|
查看次数: |
9877 次 |
最近记录: |