Frontend/CSS

헤더 로고와 메인 제목 배치 및 중앙 정렬 방법

sliver__ 2025. 5. 23. 16:44
728x90

이번에는 웹 페이지의 헤더 영역에 로고 이미지와 **주요 제목(헤딩)**을 배치하고, CSS를 활용해 해당 요소들을 가로세로 정중앙에 정렬하는 방법을 배웠습니다. 주요 개념은 다음과 같습니다.


1. 로고 이미지 삽입 및 스타일링

  • HTML에 div.logo-box를 만들고 그 안에 img.logo 요소 삽입
  • img는 인라인 요소이므로 컨테이너(div)로 감싸는 것이 위치 제어에 유리
  • CSS에서 position: absolute를 사용해 위치 지정
  • 기준이 되는 상위 요소(header)에 position: relative 설정
  • top과 left 속성으로 위치 지정 (top: 40px; left: 40px;)
  • 로고 크기는 height: 35px만 설정해 브라우저가 자동 비율 조정하도록 함

2. 메인 헤딩 텍스트 구성

  • h1.heading-primary 요소 생성
  • 내부에 두 개의 span 요소 사용:
    span.heading-primary-main (예: "Outdoors")
    span.heading-primary-sub (예: "is where life happens.")
  • span은 인라인 요소이므로 display: block을 적용해 줄바꿈 유도
  • 텍스트 크기, 자간(letter-spacing), 색상(color: #fff), 대문자(text-transform: uppercase) 등 개별 스타일 적용

3. 중앙 정렬 박스 구성

  • 위 텍스트들을 감쌀 div.text-box 생성
  • 전체를 헤더 중앙에 배치하기 위해 text-box에 position: absolute 적용
  • top: 50%, left: 50%로 부모(header)의 정중앙에 배치
  • 실제 중앙에 정렬되도록 transform: translate(-50%, -50%) 적용
    → 이는 자기 자신의 너비와 높이의 50%만큼 왼쪽, 위로 이동하는 방식
  • 실제 디자인 상 중앙보다 살짝 위에 배치하고 싶을 경우
    top: 40% + transform: translate(-50%, -50%) 사용

핵심 요약

  • 절대 위치(position: absolute)는 반드시 기준 요소가 position: relative여야 원하는 위치 지정 가능
  • transform: translate(-50%, -50%)는 정확한 중앙 정렬에 유용
  • 텍스트 구성을 위한 span 요소는 스타일링에 매우 유연하게 활용 가능
728x90