如何将 fadeInUp(from animate.css) 与 navbar-fixed-top 一起使用?

How to use fadeInUp(from animate.css) with navbar-fixed-top?

FadeInUp 似乎禁用了 navbar-fixed-top,因为每当我同时使用它们时,我的导航栏都会随页面滚动,当我删除 fadeInUp 时,一切正常。我在 MainApp.jsx 中使用了 animate.css 的 fadeInUp 属性。我两个都想用,请问有什么办法可以解决吗

MainApp.jsx

import React from "react"
import { render } from "react-dom"
import Headline from "./components/Headline"
import Footer from "./components/Footer"

class MainApp extends React.Component{
    constructor(props) {
        super(props);
        this.state = {
            load : false,
        }
    }

    componentDidMount(){
        this.setState({
            load : true,
        })
    }

    render(){
            return(
                <div className="animated fadeInUp">
                    <Headline>Heres the main page</Headline>
                    <Footer></Footer>
                </div>
            )
    }
}

render(<MainApp/>, document.getElementById('MainApp'))

Headline.jsx

import React from "react"
import styles from "./css/navbarItems.css"


export default class Headline extends React.Component {

    handleSelect(selectedKey) {
      alert('selected ' + selectedKey);
    }

    render() {
    return (
        <div>
            <div>
                <nav className="navbar navbar-inverse navbar-default navbar-fixed-top">
                  <div className="container-fluid">
                    <div className="navbar-header">
                      <button type="button" className="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
                        <span className="icon-bar"></span>
                        <span className="icon-bar"></span>
                        <span className="icon-bar"></span>                        
                      </button>
                      <a className="navbar-brand" href="#">WebSiteName</a>
                    </div>
                    <div className="collapse navbar-collapse" id="myNavbar">
                      <ul className="nav navbar-nav">
                        <li className="active"><a href="#">Home</a></li>
                        <li className="dropdown">
                          <a className="dropdown-toggle" data-toggle="dropdown" href="#">Page 1 <span className="caret"></span></a>
                          <ul className="dropdown-menu">
                            <li><a href="#">Page 1-1</a></li>
                            <li><a href="#">Page 1-2</a></li>
                            <li><a href="#">Page 1-3</a></li>
                          </ul>
                        </li>
                        <li><a href="#">Page 2</a></li>
                        <li><a href="#">Page 3</a></li>
                      </ul>
                      <ul className="nav navbar-nav navbar-right">
                        <li><a href="#"><span className="glyphicon glyphicon-user"></span> Sign Up</a></li>
                        <li><a href="#"><span className="glyphicon glyphicon-log-in"></span> Login</a></li>
                      </ul>
                    </div>
                  </div>
                </nav>
            </div>
        </div>
    )
  }
}

您正在尝试在动画时添加相对或绝对导航的固定位置,这就是它不起作用的原因。要在 React 中设置动画,您可以参考此文档 guide to use animation in react

或者 你可以在 componentDidMount 中 运行 一些 jQuery 并在动画完成后添加 nav-fixed class。

我还是建议第一种方法

这个问题可能可以通过 body { overflow-x: hidden; } 解决,因为 animate.css 会影响浮动内容,例如position: fixed; 的菜单或其他元素。试一试。