Computer >> 컴퓨터 >  >> 프로그램 작성 >> CSS

CSS 고정 바닥글

고정 바닥글은 고정 바닥글과 혼동되어서는 안 됩니다. 고정 바닥글은 바닥글이 항상 화면 하단(콘텐츠가 페이지를 채우지 않는 경우)에 고정되거나 웹페이지 콘텐츠 하단에 고정되는 패턴입니다. . 고정 바닥글은 사용자가 페이지를 스크롤할 때 화면 하단에 유지됩니다. 다음 코드 편집기 예제는 차이점을 구별합니다.

고정 바닥글:

<!DOCTYPE html>
<html lang="en">
   <head>
       <meta charset="UTF-8" />
       <meta name="viewport" content="width=device-width, initial-scale=1.0" />
       <title>Sticky Footer</title>
   </head>
   <style>
       body {
           width: 100%;
           margin: 0 auto;
           text-align: center;
       }
       header {
           background: orange;
           height: 100px;
           display: inline-block;
           width: 100%;
       }
       p {
           text-align: left;
           width: 80%;
           margin: 0 auto;
           line-height: 5rem;
           font-size: 2rem;
           text-indent: 5rem;
       }
       footer {
           background: black;
           color: white;
           position: fixed;
           bottom: 0;
           width: 100%;
       }
   </style>
   <body>
       <header>
           <h1>This is a header</h1>
       </header>
       <div>
           <h2>This is the website content.</h2>
           <p>
               Lorem ipsum dolor, sit amet consectetur adipisicing elit.
               Aspernatur cum aliquid nostrum dolore sunt ex exercitationem,
               enim provident quia laudantium, blanditiis repellendus similique
               in possimus, nisi voluptatem? Quibusdam, suscipit impedit.
           </p>
           <p>
               Lorem ipsum dolor sit amet consectetur adipisicing elit. Facilis
               veritatis doloremque recusandae similique mollitia quod impedit,
               rerum inventore beatae quia vel aperiam maiores corrupti tenetur
               illo praesentium repudiandae a distinctio?
           </p>
           <p>
               Lorem ipsum dolor sit amet consectetur, adipisicing elit. Dicta
               saepe, reiciendis in maxime perspiciatis cum similique a quis
               accusamus blanditiis harum voluptates at doloribus autem numquam
               sint? Qui, tempora ratione!
           </p>
           <p>
               Lorem ipsum dolor sit amet consectetur adipisicing elit. Unde,
               deserunt placeat? Laborum voluptates minus, adipisci odit
               repellat corrupti libero! Asperiores delectus quasi debitis
               mollitia eum et vel recusandae quas esse.
           </p>
           <p>
               Lorem ipsum dolor sit amet consectetur adipisicing elit.
               Molestias ad dolorem rerum suscipit eos eius libero animi omnis,
               ea esse distinctio doloremque corporis, a quidem inventore sequi
               nostrum aut impedit.
           </p>
           <p>
               Lorem ipsum dolor sit, amet consectetur adipisicing elit.
               Suscipit quod ipsum maiores, minus non atque asperiores corrupti
               placeat nulla temporibus est libero numquam ad culpa architecto
               reprehenderit nemo doloribus ipsa?
           </p>
       </div>
       <footer>
           <h5>This is a fixed footer.</h5>
       </footer>
   </body>
</html>

고정 바닥글:

<!DOCTYPE html>
<html lang="en">
   <head>
       <meta charset="UTF-8" />
       <meta name="viewport" content="width=device-width, initial-scale=1.0" />
       <title>Sticky Footer</title>
   </head>
   <style>
       .container {
           min-height: 100vh;
           display: flex;
           flex-direction: column;
       }
       .page-header, .page-footer {
           flex-shrink: 0;
       }
 
       h1, h2, h3, h4, h5 {
           text-align: center;
       }
 
       .orange {
           background: orange;
       }
       .page-body {
           background: blue;
           flex-grow: 1;
       }
       .page-body p {
           text-align: left;
           width: 80%;
           margin: 0 auto;
           line-height: 4rem;
           font-size: 1.8rem;
           text-indent: 4rem;
       }
       .black {
           background: black;
           color: white;
       }
   </style>
   <body>
       <div class="container">
           <header class="page-header orange">
               <h1>This is a header</h1>
           </header>
           <div class="page-body">
               <h2>This is the website content.</h2>
               <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Molestias neque impedit, libero, officiis repudiandae numquam necessitatibus enim sapiente hic, quam dolores. Atque porro assumenda molestiae. Ipsum laudantium qui odio itaque.</p>
               <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Molestias neque impedit, libero, officiis repudiandae numquam necessitatibus enim sapiente hic, quam dolores. Atque porro assumenda molestiae. Ipsum laudantium qui odio itaque.</p>
               <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Molestias neque impedit, libero, officiis repudiandae numquam necessitatibus enim sapiente hic, quam dolores. Atque porro assumenda molestiae. Ipsum laudantium qui odio itaque.</p>
               <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Molestias neque impedit, libero, officiis repudiandae numquam necessitatibus enim sapiente hic, quam dolores. Atque porro assumenda molestiae. Ipsum laudantium qui odio itaque.</p>
               <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Molestias neque impedit, libero, officiis repudiandae numquam necessitatibus enim sapiente hic, quam dolores. Atque porro assumenda molestiae. Ipsum laudantium qui odio itaque.</p>
               <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Molestias neque impedit, libero, officiis repudiandae numquam necessitatibus enim sapiente hic, quam dolores. Atque porro assumenda molestiae. Ipsum laudantium qui odio itaque.</p>
               <p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Molestias neque impedit, libero, officiis repudiandae numquam necessitatibus enim sapiente hic, quam dolores. Atque porro assumenda molestiae. Ipsum laudantium qui odio itaque.</p>
 
           </div>
           <footer class="page-footer black">
               <h5>This is a sticky footer.</h5>
           </footer>
       </div>
   </body>
</html>

결론

고정 바닥글은 위치를 사용하여 화면 하단에 유지합니다. 두 번째는 flexbox의 flex-grow 및 flex-shrink 속성을 사용하여 바닥글을 콘텐츠 맨 아래에 유지합니다. 각 코드 예제에서 바닥글 특성의 차이점에 유의하십시오.

위의 샌드박스 환경에서 플레이하면 이러한 패턴을 이해하는 데 도움이 됩니다. 변화를 주고 다른 값으로 실험해 보세요.