고정 헤더에 CSS 그리드를 사용하는 방법

2839 단어 cssgrid
Adam Racki의 위대한 blog postdisplay: grid를 사용하여 고정 헤더를 만드는 것이 가능하다는 것을 깨달았습니다. 기여가 저에게 영감을 주는 만큼 저를 혼란스럽게 했습니다(코드 예제에서 이 모든 복잡성이 왜??). 다음은 내가 가져온 것입니다.
  • 고정 헤더는 일반적으로 display: absolute; 또는 display: fixed; 로 배치됩니다.
  • 이것이 작동하는 동안 display: grid 에는 훨씬 더 우아한 구문이 있습니다.

  • 데모:



    암호



    HTML



    <!DOCTYPE html>
    <html>
    
    <head>
      <title>Sticky Header</title>
      <meta charset="UTF-8" />
    </head>
    
    <body id="wrapper">
      <h1 id="sticky">A Panda Bear</h1>
      <main id="scroll-element">
      <img alt="A panda bear" height="500px" src="https://images.unsplash.com/photo-1526716121440-dc3b4f254a0a"/>
      </main>
    </body>
    
    </html>
    

    CSS



    #wrapper { height: 500px; display: grid; }
    #scroll-element { overflow: auto; }
    

    마법은 무엇입니까?



    tbh, (당신이 이해하는 모든 것과 마찬가지로) 아무것도 없습니다.

    무슨 일이야?



    제목과 내용을 합하면 한 번에 표시할 수 있는 것보다 큽니다. 이미지는 많은 콘텐츠를 나타냅니다. 고정된(큰) 높이가 있습니다.

    CSS 규칙overflow: auto;은 브라우저가 id="scroll-element" .
    id="sticky"가 있는 헤더는 id="scroll-element"가 축소되고 오버플로될 수 있으므로 항상 완전히 표시됩니다.

    그게 다야

    좋은 웹페이지 즐겨찾기