动画.gif
    实现导航栏响应式布局很简单,使用媒体查询,当页面宽度小于 768px 时改变对应元素的样式即可
    需要留意的是这里 flex 布局的使用,将 3 的 flex-basis 设为100%就能实现如下图的效果
    image.png

    1. @media (max-width: 768px) {
    2. .container {
    3. justify-content: space-between;
    4. flex-wrap: wrap;
    5. .nav-main {
    6. display: none;
    7. }
    8. .nav-main.show {
    9. flex-basis: 100%;
    10. flex-grow: 1;
    11. display: flex;
    12. flex-direction: column;
    13. }
    14. }
    15. }

    点击按钮弹出导航菜单的实现,主要是使用了动态class, 当然使用 classNames 库会更方便

    1. <div className={'nav-main ' + (show ? 'show' : '')}>
    2. </div>