‘it works on My Machine’이 커뮤니케이션 버그이고 코드 버그가 아닌 이유

발행: (2026년 4월 20일 PM 09:18 GMT+9)
2 분 소요
원문: Dev.to

Source: Dev.to

문제가 된 코드

body {
  margin: 40px auto; 
  text-align: center;
}

결과: 왼쪽 정렬. 왜?

해결 방법: margin: auto는 너비가 필요합니다

margin: auto는 남은 가로 공간을 균등하게 나눕니다. 요소에 width: 100%가 지정돼 있으면 남은 공간이 없으므로 나눌 것이 없습니다.

수정된 CSS

body {
  width: 90%;           /* 남은 공간을 만듭니다 */
  max-width: 600px;     /* 너무 넓어지는 것을 방지합니다 */
  margin: 40px auto;    /* 이제 가운데 정렬됩니다 */
  text-align: center;
}

고객에게 설명하는 방법

오븐만큼 넓은 베이킹 트레이는 가운데에 놓을 수 없습니다. width: 90%로 “챠파티”를 줄이면 margin: auto가 중간으로 슬라이드합니다.

버그를 고치는 다른 방법

컴포넌트를 위한 Flexbox

.parent {
  display: flex;
  justify-content: center;
  align-items: center;
}

전체 페이지용 Grid — 한 줄

.parent {
  display: grid;
  place-items: center;
  min-height: 100vh;
}

디버그 체크리스트

DevTools → Computed 탭에서 확인:

  1. width: auto인가요? width: 90% 혹은 600px 같은 고정 너비를 추가합니다.
  2. display: inline인가요? block으로 변경합니다.
  3. 수직 중앙 정렬을 원한다면: 부모 요소에 높이가 있나요?

라이브 데모

Live demo of my page

0 조회
Back to Blog

관련 글

더 보기 »

cubic-bezier로 CSS 전환을 레벨업하기

플랫해 보이는 CSS 전환은 왜 그런가요? 기본 ease 타이밍 함수는 작동하지만 일반적입니다. 실제 움직임은 개성이 있습니다—튕기고, 과도하게 움직이며…

다음 WordPress를 만들기 위한 경쟁

저는 article을 format하는 것을 기쁘게 도와드리겠지만, post 자체의 전체 텍스트가 필요합니다. article의 content, body text, headings 등을 제공해 주시겠어요?