我有一个元素,应该在页面加载时呈现:

 {this.state.pageLoaded && <MyComponent className={classes.container} /> }


呈现此组件后,我希望它淡入。因此,我尝试应用一些jss,但无法使其正常工作。

这是我的JSS:

const styles = theme => ({
    '@keyframes fadein': {
        from: { opacity: 0 },
        to :  { opacity: 1 }
    },
    /* Firefox < 16 */
    '@-moz-keyframes fadein': {
        from: { opacity: 0 },
        to :  { opacity: 1 }
    },
    /* Safari, Chrome and Opera > 12.1 */
    '@-webkit-keyframes fadein': {
        from: { opacity: 0 },
        to :  { opacity: 1 }
    },
    /* Internet Explorer */
    '@-ms-keyframes fadein': {
        from: { opacity: 0 },
        to :  { opacity: 1 }
    },
    /* Opera < 12.1 */
    '@-o-keyframes fadein': {
        from: { opacity: 0 },
        to :  { opacity: 1 }
    },
    container: {
        //How do I insert like -webkit-animation in here????
       animation: '$fadein',
    },
});


我不知道我的语法是否正确,因为我对如何应用带有特殊字符(例如@keyframes,-webkit-animation等)的内容感到困惑,以便使用不同的浏览器。

当我运行页面时,没有动画发生,并且在控制台中收到以下警告:

Warning: [JSS] Unknown rule @-moz-keyframes fadein
Warning: [JSS] Unknown rule @-webkit-keyframes fadein
Warning: [JSS] Unknown rule @-ms-keyframes fadein
Warning: [JSS] Unknown rule @-o-keyframes fadein

最佳答案

您可以在某些CSS中应用此效果。

.fade-in {
  animation: fade-in 2s;
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


只需将淡入的className添加到您的组件中,然后将此代码添加到您的css文件中即可。

关于css - React-JSS在渲染时使元素淡入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56674112/

10-11 11:18