reactjs 顺风如何使导航标签总是显示滚动条?

hmae6n7t  于 2023-02-18  发布在  React
关注(0)|答案(1)|浏览(176)

我有个带标签的导航。
但是因为它有很多标签,用户需要向右滚动才能看到所有标签。
问题是在第一次加载时,用户可能不知道这一点,并认为显示的是所有选项卡。
所以我想在它上面一直显示一个滚动条。

<nav
          className="-mb-px flex space-x-8 overflow-x-auto"
          aria-label="Tabs"
        >

我试过:

<nav
          className="-mb-px flex space-x-8 overflow-x-scroll"
          aria-label="Tabs"
        >

但是它什么也没做。如果可能的话,我还想用更小的高度和不同的主颜色和背景颜色来设计滚动条。
导航本身存在于:

<div className=" pb-3 lg:fixed  z-10 bg-white grid grid-cols-1 mr-16  ">

谢谢

rryofs0p

rryofs0p1#

要使滚动条始终显示,请使用overflow-x-scroll并确保将fixed width添加到父元素中。
对于样式滚动条,Tailwind CSS没有提供内置的方式,但是,您可以使用各种::-webkit-scrollbar伪元素来设置它的样式。
因此,请在主index.css文件中添加以下内容

@layer components {
  .scrollbar::-webkit-scrollbar {
    width: 15px;
    height: 15px;
  }

  .scrollbar::-webkit-scrollbar-track {
    border-radius: 100vh;
    background: #f7f4ed;
  }

  .scrollbar::-webkit-scrollbar-thumb {
    background: #e0cbcb;
    border-radius: 100vh;
    border: 3px solid #f6f7ed;
  }

  .scrollbar::-webkit-scrollbar-thumb:hover {
    background: #c0a0b9;
  }
}

最后的代码是这样的:

<div className=" pb-3 lg:fixed  z-10  grid grid-cols-1 mr-16 w-64 ">
      <nav
        className="-mb-px flex text-green-400 space-x-8 overflow-x-scroll scrollbar"
        aria-label="Tabs"
      >
        <div className="mx-4">Item</div>
        <div className="mx-4">Item</div>
        <div className="mx-4">Item</div>
        <div className="mx-4">Item</div>
        <div className="mx-4">Item</div>
      </nav>
    </div>

最终输出(自定义滚动条样式)

相关问题