我有一个styled-component
,如下所示:
const Wrapper = styled.div`
display: flex;
width: 100%;
justify-content: center;
opacity: ${props => (props.show ? "1" : "0")};
height: ${props => (props.show ? "100%" : "0")};
padding: ${props => (props.show ? "15px 0px" : "0 15px")};
-webkit-transition: all 2s ease-out;
-moz-transition: all 2s ease-out;
-o-transition: all 2s ease-out;
-ms-transition: all 2s ease-out;
transition: all 2s ease-out;
p {
margin: 0;
}
`;
与prop
'show'配合正常。问题是“包装器” div
位于顶部。其他所有元素都在“包装器”之下。当“显示”变为false
时,transition ease-out
有效。但是,当动画完成时,“包装器”下方的元素会跳到顶部并占用可用空间。
我尝试使用属性height
和max-height
代替了all
中的transition
,但是得到了相同的结果。
如何解决Wrapper下的元素与ease-out
协调地位于顶部的问题?