IMCAT.DEV
로그인 가입
CSS 입문 기초

CSS 플로트와 클리어

CSS 플로트와 클리어 — 초급

플로트와 클리어

1. 도입 (왜 배워야 하는가)

플로트(floats)와 클리어(clears)는 CSS 레이아웃을 구성하는 중요한 도구입니다. 웹 페이지를 디자인할 때, 텍스트와 이미지를 어떻게 배치할지를 결정하는 것은 매우 중요합니다. 플로트를 사용하면 요소들을 좌우로 배치하여 다양한 레이아웃을 만들 수 있으며, 클리어는 플로트된 요소들에 의해 발생할 수 있는 레이아웃 문제를 해결하는 데 도움을 줍니다.

만약 이 두 개념을 잘 이해하지 못한다면, 웹 페이지가 의도한 대로 보이지 않거나, 요소들이 겹치는 등의 문제가 발생할 수 있습니다. 따라서 플로트와 클리어를 제대로 사용하는 것은 웹 디자인의 기본적인 부분이라 할 수 있습니다.

2. 핵심 개념 설명

플로트 (float)

플로트는 요소를 왼쪽 또는 오른쪽으로 띄워서, 다른 요소들이 그 주변에 흐르게 만드는 CSS 속성입니다. 이는 마치 강물이 장애물 주위로 흐르는 것처럼, 요소들이 플로트된 요소 주위로 흐르도록 만듭니다.

클리어 (clear)

클리어는 플로트된 요소의 영향을 받지 않도록 하는 속성입니다. 클리어를 사용하면 현재 요소가 플로트된 요소의 아래쪽에서 시작하도록 강제할 수 있습니다. 이는 마치 장애물 뒤에서 다시 시작하는 물줄기와 같습니다.

용어정의
플로트요소를 왼쪽 또는 오른쪽으로 띄우는 CSS 속성
클리어플로트된 요소의 영향을 받지 않도록 하는 CSS 속성

3. 기본 코드 예제

플로트를 사용한 간단한 예제를 살펴보겠습니다.

.container {
    width: 500px; / 컨테이너의 너비 설정 /
    border: 1px solid #ccc; / 경계선 추가 /
}

.box {
    width: 200px; / 박스의 너비 설정 /
    height: 100px; / 박스의 높이 설정 /
    margin: 10px; / 박스 주변 여백 설정 /
    background-color: lightblue; / 배경색 설정 /
    float: left; / 왼쪽으로 플로트 /
}
<div class="container">
    <div class="box"></div>
    <div class="box"></div>
</div>

실행 결과

  • 두 개의 박스가 왼쪽으로 나란히 배치됩니다.
  • 코드 한 줄씩 동작 설명

    1. .container 클래스는 너비와 경계선이 있는 박스를 만듭니다.
    2. .box 클래스는 각각의 박스의 크기와 배경색을 설정합니다.
    3. float: left; 속성으로 인해 각 박스가 왼쪽으로 배치됩니다.
    4. 4. 실전 활용 예제

      예제 1: 이미지 갤러리

      쇼핑몰 웹사이트에서 여러 이미지를 나란히 배치하고 싶을 때 플로트를 사용합니다. 아래 예제는 이미지 갤러리를 만들 때 유용합니다.

      .gallery {
          width: 100%;
      }
      
      .gallery img {
          width: 30%; / 이미지 크기 설정 /
          margin: 1.5%; / 이미지 간격 설정 /
          float: left; / 왼쪽으로 플로트 /
      }

      예제 2: 텍스트와 이미지 배치

      블로그 포스트에서 텍스트와 이미지를 함께 배치할 때에도 플로트를 사용합니다.

      .text {
          width: 70%; / 텍스트 영역 너비 /
          float: left; / 왼쪽으로 플로트 /
      }
      
      .image {
          width: 28%; / 이미지 영역 너비 /
          float: right; / 오른쪽으로 플로트 /
      }

      5. 흔한 실수와 주의사항

      실수 1: 클리어 속성 누락

      .text {
          float: left;
      }

      위 코드에서 텍스트가 플로트되었지만, 아래에 다른 요소가 있을 경우 겹칠 수 있습니다.

      올바른 코드

      .text {
          float: left;
          clear: both; / 플로트된 요소 아래에서 시작 /
      }

      실수 2: 플로트 이후에 레이아웃 문제

      플로트를 사용한 후, 컨테이너의 높이가 0이 되는 문제 발생.

      올바른 코드

      .container::after {
          content: ""; / 내용 없음 /
          display: table; / 블록 요소로 변경 /
          clear: both; / 플로트 정리 /
      }

      6. 정리

    5. 플로트와 클리어는 웹 레이아웃을 구성하는 데 필수적인 도구입니다.
    6. 플로트는 요소를 왼쪽 또는 오른쪽으로 띄워 다른 요소들이 흐르게 합니다.
    7. 클리어는 플로트된 요소의 영향을 받지 않도록 합니다.
    8. 플로트된 요소의 문제를 해결하기 위해 클리어를 사용하는 것이 중요합니다.

다음에 학습하면 좋은 주제는 Flexbox와 Grid Layout입니다. 이들은 현대적인 웹 디자인에서 레이아웃을 구성하는 더 나은 방법을 제공합니다.