简体   繁体   English

如何使用动态高度容器制作可滚动区域

[英]How do I make a scrollable area with a dynamic height container

I am scratching my head around scrolling.我在滚动时摸不着头脑。

I want to have a fixed App layout and a fixed content layout but a scollable content.我想要一个固定的 App 布局和一个固定的内容布局,但是一个可缩放的内容。

I have tried:我努力了:

  • position: fixed to the App Layout and Content Layout position: fixed到App Layout和Content Layout
  • To add overflow: hidden to the Content Layout添加overflow: hidden到内容布局
  • To add overflow-y: scroll to the container添加overflow-y: scroll到容器

None of this works.这些都不起作用。

Code:代码:

Link: https://play.tailwindcss.com/链接: https://play.tailwindcss.com/

<div class="w-screen h-screen">
  <div class="border border-black w-full h-full grid grid-cols-[100px_1fr] grid-rows-[50px_1fr] fixed">
    <header class="border border-black row-start-1 row-end-2 col-span-2">Header</header>
    <aside class="border border-black row-start-2 row-end-3 col-start-1 col-end-2">Sidebar</aside>
    <main class="border border-black row-start-2 row-end-3 col-start-2 col-end-3">
      <div class="border border-black w-full h-full flex flex-col fixed">
        <div class="border border-black w-full h-[50px]">Header</div>
        <div class="border border-black flex-grow flex px-3">
          <div class="border border-black w-[90px]">Sidebar</div>
          <div class="border border-black flex-grow overflow-hidden">
            <div class="border border-black overflow-y-scroll">
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
              <div class="">Content</div>
            </div>
          </div>
        </div>
      </div>
    </main>
  </div>
</div>

I have search on Google and no one can clearly explain how a scrollable area works (especially when the container has a dynamic height ( flex-grow: 1 or height: 100% ).我在 Google 上进行了搜索,没有人能清楚地解释可滚动区域的工作原理(尤其是当容器具有动态高度时( flex-grow: 1height: 100% )。

you have to specify a fixed width on a container before you can use overflow-scroll您必须先在容器上指定固定宽度,然后才能使用溢出滚动

<div class="border border-black w-[200px] overflow-y-scroll">
  <div class="">Content</div>
  <div class="">Content</div>
  ...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM