我有一个使用索环ux框架的React/redux应用程序。其基本结构是:如何隐藏索环SideSplit组件
<App className="gol">
<Article>
<GLHeader />
<SideSplit active={props.nav} onResponsive={checkMobile} >
<GLNav />
<GLBoard />
</SideSplit>
<Footer colorIndex="neutral-1-a" justify="center">© 2016 </Footer>
</Article>
</App>
我想<GLNav />
组件隐藏起来,直到被点击设置图标,允许<GLBoard />
组件来填充屏幕。我有一个连接到图标的redux状态变量来切换active
道具,并在<GLNav />
组件上切换CSS类。 CSS的宽度设置为0,这样进出NAV组件幻灯片:
.hide{
width: 0 !important;
transition: width .3s ease-out;
}
.show{
transition: width .3s ease-out;
}
所有这一切都完美的作品在Chrome中。但是,在Safari中,当SideSplit组件处于非移动模式(屏幕宽度大于750px)时 - 即使 prop为false,并且应用了CSS类.hide
- <GLNav />
组件的宽度值也是如此。如果我将宽度更改为小于750像素,则孔眼适用hidden
类,并且会根据需要隐藏<GLNav />
。
这里是<GLNav />
类:
const GLNav = props => {
return(
<SideBar colorIndex="neutral-1-a" className={props.nav}>
<Header pad="medium" justify="between">
<Title>
Settings
</Title>
<Button icon={<Close />} onClick={() => props.actions.toggleNav()} />
</Header>
</SideBar>
)
}
注:我也尝试过只渲染''组件点击设置按钮,当......当它正常工作,它不”在这种情况下,应用CSS过渡。 –
genestd
尝试添加'最大宽度:0;' –
这样做 - 感谢您的提示! – genestd