显示块不移动到下一行

Posted

技术标签:

【中文标题】显示块不移动到下一行【英文标题】:Display Block not moving to next line 【发布时间】:2021-06-28 19:53:18 【问题描述】:

我正在尝试制作一个顺风的响应式导航栏。当我打开导航菜单时,我想在每行中列出我的导航链接和单个项目。现在,他们都排成一排。我正在使用顺风:

function Navbar() 
  const [isOpen, setIsOpen] = useState(false);
  return (
    <header>
      <div className="flex flex-col max-w-screen-xl px-4 mx-auto md:items-center md:justify-between md:flex-row md:px-6 lg:px-8">
        <div className="p-4 flex flex-row items-center justify-between">
          <Link href="/">
            <a className="text-lg font-semibold tracking-widest text-gray-900 uppercase rounded-lg dark-mode:text-white focus:outline-none focus:shadow-outline">
              Header
            </a>
          </Link>
          <button
            className="md:hidden rounded-lg focus:outline-none focus:shadow-outline"
            onClick=() => 
              setIsOpen(!isOpen);
            
          >
            Menu
          </button>
        </div>

        <nav className=isOpen ? "flex" : "md:flex hidden">
          <NavLink pathTo="/" displayText="Home" />
          <NavLink pathTo="/" displayText="Page 1" />
          <NavLink pathTo="/" displayText="Page 2" />
        </nav>
      </div>
    </header>
  );


export default Navbar;

我的 NavLink 组件如下:

import React from "react";
import Link from "next/link";
interface NavItem 
  pathTo: string;
  displayText: string;

function NavLink(item: NavItem) 
  return (
    <Link href=item.pathTo>
      <a className="block lg:p-4 px-4 py-2 mt-2 border-b-2 border-white text-sm bg-transparent dark-mode:bg-transparent dark-mode:hover:border-red-400 dark-mode:focus:border-red-400 dark-mode:focus:text-white dark-mode:text-gray-200 md:mt-0 md:ml-4 hover:text-gray-900 focus:text-gray-900 hover:border-red-400 focus:border-red-400">
        item.displayText
      </a>
    </Link>
  );


export default NavLink;

我错过了什么?从菜单打开时,我希望 NavLinks 在每一行上都有一个项目。我以为display:block 会这样做,但似乎不会。这是为什么呢?

【问题讨论】:

我想说这是因为 navlink 容器的 flex 方向。你在使用列 flex-direction 吗? 是的,我是。 @rtkay123 似乎也在同一轨道上。我需要添加flex-col。但是现在打开的菜单在打开时会向下移动所有内容。如何让它出现在屏幕上的项目上方,而不是顶部? 使用菜单的位置属性可以工作。为了确保它保持在您想要的水平之上,还要编辑菜单的 z-index。 【参考方案1】:

您需要在导航链接中添加弹性方向。添加flex-col 应该可以解决问题。

【讨论】:

以上是关于显示块不移动到下一行的主要内容,如果未能解决你的问题,请参考以下文章

Xcode:如果屏幕太小,堆栈视图移动到下一行

如何在移动到下一行代码之前完成 NSURLSession 请求

更改曲目 NAudio 后滑块不起作用

iOS NSTextAttachment 图像未显示

移动到下一页时不显示对话框[重复]

vi 编辑器基本命令