我有一個使用索環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