当使用 Tailwind CSS 单击按钮时,从屏幕左侧制作侧边栏滑动

Posted

技术标签:

【中文标题】当使用 Tailwind CSS 单击按钮时,从屏幕左侧制作侧边栏滑动【英文标题】:Make a sidebar slide from the left side of the screen when a button is clicked with Tailwind CSS 【发布时间】:2021-12-23 05:31:42 【问题描述】:

目前,当我单击按钮时,它会显示/关闭侧边栏但没有任何过渡,它应该来自左侧。

它适用于“普通 css”,但我不知道如何使用 Tailwind 创建这种效果。

这是代码:

// this function sets the toggle the value of isOpened so it shows/hides the element

  const handleChange = (event: React.MouseEvent) => 
    setSidebarState(!isOpened);
    onChange && onChange(event, isOpened);
  ;

// styling so far

    <div className='w-12 h-12 bg-red-700 '>
      <button onClick=handleChange>click me</button>
      <div className=`h-screen mt-5 fixed z-10 left-0 w-max transition-all  $isOpened ? 'hidden' : ''`>
        ... // content
     </div>
    </div>

有什么想法吗?

【问题讨论】:

【参考方案1】:

您的问题出在 hidden 类中,hidden 等于 css 中的 display 属性,并且无法设置动画。您可以使用 opacity 代替 hidden

如果 hidden 类对您来说是一个关键方法并且需要将其从 DOM 中删除,请使用 react 动画库或创建您自己的 css 类并使用setTimout 处理它们。

动画类型不可动画MDN

<div className="w-12 h-12 bg-red-700 ">
  <button onClick=handleChange>click me</button>
  <div className=`h-screen mt-5 fixed z-10 left-0 w-max transition-all $isOpened ? 'opacity-100' : 'opacity-0'`>
   ... // content
  </div>
</div>

【讨论】:

以上是关于当使用 Tailwind CSS 单击按钮时,从屏幕左侧制作侧边栏滑动的主要内容,如果未能解决你的问题,请参考以下文章

在 Tailwind CSS 上使用侧边按钮输入

Vuetify 样式不适用于 Tailwind

我可以使用 Tailwind CSS 在悬停时实现带下划线的按​​钮吗?

提取组件时的 Tailwind @apply 指令与纯 CSS

如何使用 Tailwind CSS 仅在小型设备上将导航栏上的项目居中

Tailwind css 在部署时不工作