如何动画更改网格项目大小 Material UI
How to animate change of grid item size Material UI
我有一个 React 项目和 Material UI。
我需要一些关于如何动画化网格项目大小变化的指导。该项目默认为 sm={3},当用户将鼠标悬停在该项目上时,这将更改为 sm={6}。这是通过偶数触发器和状态变量完成的。我的问题是如何为此创建 transition/animation?
我尝试将此添加到项目 css 但没有成功。
transition: theme.transitions.create("width", {
easing: theme.transitions.easing.easeIn,
duration: theme.transitions.duration.sta
})
您应该为缓入和缓出设置动画以过渡到工作状态,
试试 css
.item {
transition: all .5s ease-in-out;
}
.item:hover {
transition: all .5s ease-in-out;
}
我知道这个问题已经三个月了,但我遇到了同样的问题,即在 React 和 Material UI 中根据状态中的变量设置网格大小变化的动画。当侧边栏展开和缩回时,我正在对主页内容进行过渡以平滑地调整大小。我在 Grid 元素上使用内联样式来完成它。
我的代码:
<Grid container>
<Grid
item xs={this.state.expandMainContent === true ? 1 : 2}
style={{transition: theme.transitions.create("all", {
easing: theme.transitions.easing.sharp,
duration: theme.transitions.duration.leavingScreen,
})}} >
<Sidebar />
</Grid>
<Grid
item xs={this.state.expandMainContent === true ? 11 : 10}
style={{transition: theme.transitions.create("all", {
easing: theme.transitions.easing.sharp,
duration: theme.transitions.duration.leavingScreen
})}}>
<MainContent />
</Grid>
</Grid>
我的是点击,而你的是悬停,但它应该仍然有效。
我有一个 React 项目和 Material UI。
我需要一些关于如何动画化网格项目大小变化的指导。该项目默认为 sm={3},当用户将鼠标悬停在该项目上时,这将更改为 sm={6}。这是通过偶数触发器和状态变量完成的。我的问题是如何为此创建 transition/animation?
我尝试将此添加到项目 css 但没有成功。
transition: theme.transitions.create("width", {
easing: theme.transitions.easing.easeIn,
duration: theme.transitions.duration.sta
})
您应该为缓入和缓出设置动画以过渡到工作状态, 试试 css
.item {
transition: all .5s ease-in-out;
}
.item:hover {
transition: all .5s ease-in-out;
}
我知道这个问题已经三个月了,但我遇到了同样的问题,即在 React 和 Material UI 中根据状态中的变量设置网格大小变化的动画。当侧边栏展开和缩回时,我正在对主页内容进行过渡以平滑地调整大小。我在 Grid 元素上使用内联样式来完成它。
我的代码:
<Grid container>
<Grid
item xs={this.state.expandMainContent === true ? 1 : 2}
style={{transition: theme.transitions.create("all", {
easing: theme.transitions.easing.sharp,
duration: theme.transitions.duration.leavingScreen,
})}} >
<Sidebar />
</Grid>
<Grid
item xs={this.state.expandMainContent === true ? 11 : 10}
style={{transition: theme.transitions.create("all", {
easing: theme.transitions.easing.sharp,
duration: theme.transitions.duration.leavingScreen
})}}>
<MainContent />
</Grid>
</Grid>
我的是点击,而你的是悬停,但它应该仍然有效。