【发布时间】:2021-01-26 03:03:03
【问题描述】:
我目前正在使用 react 为我的网站开发一个响应式导航栏,并且我正在切换导航栏的状态以检查菜单是打开还是关闭。当它打开时,它将应用到 div 样式为transform: translateX(0%),否则为transform: translateX(100%)。当它是transform: translateX(100%) 时,div 完全不在屏幕上。当我切换菜单时,它只是突然出现,我不确定为什么转换属性不起作用。
在 Header.js 中
{this.state.showMenu ? (
<div
className="header__menu"
style={this.showMenu ? null : { transform: "translateX(100%)" }}
></div> : null }
在 Header.css 中
.header__menu {
position: absolute;
top: 0;
right: 0;
background-color: white;
outline: 1px solid var(--border-accent);
padding: 64px 12px 0 12px;
height: 100vh;
width: 220px;
z-index: 9;
transform: translateX(0%);
transition: transform 0.5s ease-in-out;
}
如果转换成功,预期的行为是导航栏滑入而不是突然出现。有没有办法让我将过渡应用到 Header.js 文件中的内联样式?
【问题讨论】:
-
我认为内联样式的任何动画都不会按预期工作,如果您不想创建单独的 CSS 文件,您可以使用这个包styled-components.com