부모 요소 패딩 값에 영향을 받지 않고 전체 너비 구분선 그리기

2025. 4. 4. 11:12·FRONTEND/React

발생한 문제

Tailwind를 사용해 페이지 레이아웃을 구성하던 중 전체 레이아웃에 px-6이 적용되어 있었다.

 

이 안에서 <hr /> 나 <div>를 이용해 전체 너비로 구분선을 넣고 싶었지만,
양쪽에 패딩이 적용된 상태라 선이 양끝까지 닿지 않고 들여 쓰기 된 형태로 보였다.

 

 

원인 분석

Tailwind의 px-6은 padding-left와 padding-right에 각각 1.5 rem을 적용한다.
그 결과 내부에 들어간 모든 요소는 좌우로 1.5rem씩 들여 쓰기가 적용되며,
선도 그 안에 갇히게 되어 전체 너비로 그어지지 않게 된다.

 

즉, 상위 요소(container나 Layout)에 패딩 값이 적용되어 있으면, 자식 요소인 <hr>도 기본적으로 그 패딩 안에 갇히게 된다.

 

해결 방법 : -mx-6으로 padding 상쇄

이 문제는 구분선 요소에 -mx-6 (마이너스 마진)을 주는 것으로 간단히 해결할 수 있다.


-mx-6은 margin-left: -1.5rem, margin-right: -1.5 rem을 적용해
부모의 패딩을 무효화하고, 요소가 좌우 끝까지 확장되도록 만들어준다.

 

예시

- hr 태그로 구현할 경우

<hr className="border-t-2 border-gray-200 my-6 -mx-6" />

- div로 커스텀 선을 만들 경우

<div className="h-[2px] bg-gray-200 my-6 -mx-6" />

border-t-2 : 선의 두께, my-6 : 위아래 여백

 

요약 정리

px-6 레이아웃 안에서 <hr />가 들여쓰기되어 전체 너비로 안 보이는 경우

-> 구분선 요소에 -mx-6 추가로 패딩 상쇄

 

마무리

간단한 구분선 하나에도 Tailwind의 레이아웃 특성을 이해하지 못하면 UI가 깨질 수 있다.


특히 px-6, container, max-w-screen 등이 적용된 구조에서는 의도하지 않은 여백이 생길 수 있으므로,

상황에 따라 -mx로 유연하게 대응하는 습관이 중요하다.

 

'FRONTEND > React' 카테고리의 다른 글

리액트 훅 | useEffect에 대해 알아보기  (5) 2025.08.11
리액트 훅 | useState에 대해 알아보기  (4) 2025.08.08
모던 리액트 Deep Dive | 1.1 자바스크립트와 동등 비교  (0) 2025.03.09
리액트 훅(React Hook) 이해하기  (1) 2025.01.19
리액트 컴포넌트 기반 구조 이해하기(WITH 재사용성, 유지보수성)  (0) 2025.01.05
'FRONTEND/React' 카테고리의 다른 글
  • 리액트 훅 | useEffect에 대해 알아보기
  • 리액트 훅 | useState에 대해 알아보기
  • 모던 리액트 Deep Dive | 1.1 자바스크립트와 동등 비교
  • 리액트 훅(React Hook) 이해하기
uoaheu
uoaheu
uoaheu 님의 블로그 입니다.
  • uoaheu
    uoaheu 님의 블로그
    uoaheu
  • 전체
    오늘
    어제
    • 분류 전체보기 (50)
      • 알고리즘 (7)
      • CS (9)
      • FRONTEND (9)
        • React (12)
        • Kotlin (1)
        • JS (5)
        • HTML (2)
      • SQL (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    혼자서 공부하는 네트워크
    toss 분석
    BFS
    토스 앱 분석
    백준1926번
    부트캠프후기
    toss uiux
    알고리즘
    mysql 피벗테이블
    유레카3기
    이더넷프레임
    멀티캠퍼스it부트캠프
    토스 uiux
    토스분석
    엘지유플러스유레카프론트엔드
    mysql로 피벗테이블만들기
    mysql
    useactionstate
    리액트usestate
    boj25418
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
uoaheu
부모 요소 패딩 값에 영향을 받지 않고 전체 너비 구분선 그리기
상단으로

티스토리툴바