직접 살펴보는 예제

이미지 공간을 미리 잡았을 때의 차이

공간 예약 설정을 바꾸고 상자를 표시해 아래 문장 위치를 비교하세요.

아래 내용은 구조를 설명하기 위해 만든 예제입니다. 실제 상품·고객 성과 자료가 아닙니다.

이미지 위의 문장입니다.

이 문장의 시작 위치를 비교합니다.

설정한 상태에서 이미지 상자 표시를 눌러 보세요.

픽셀 이동을 보여 주는 예제이며 실제 CLS 점수나 네트워크 로딩 시간을 측정하지 않습니다.

이미지 로딩 전 공간 예약 예제에서 나눈 판단

공간을 예약하지 않으면 상자를 표시할 때 아래 문장이 내려갑니다. 160px을 미리 확보하면 같은 상자를 표시해도 문장의 시작 위치가 유지됩니다. 도구의 이동량은 예제 내부의 위치 차이이며 실제 웹사이트의 CLS 점수가 아닙니다.

파일을 아직 받지 못해도 필요한 공간은 정할 수 있습니다

사진을 늦게 불러오는 페이지에서 먼저 볼 것은 네트워크 속도만이 아닙니다. 브라우저가 이미지의 가로세로 비율을 알고 있는지 확인합니다. 크기를 모르면 처음에는 작은 영역으로 배치했다가 실제 파일을 읽은 뒤 높이를 늘릴 수 있습니다. 그 아래에 있던 설명과 버튼이 함께 이동하면 사용자는 같은 화면에서 갑자기 다른 위치를 보게 됩니다.

web.dev의 CLS 개선 안내는 크기 없는 이미지, 광고·삽입 콘텐츠, 늦게 추가되는 요소와 웹 글꼴을 흔한 이동 원인으로 설명합니다. 이미지에는 실제 비율과 맞는 width·height를 제공하거나 적절한 공간을 미리 확보하는 방법을 제시합니다. 이 글은 그중 이미지 영역 한 개를 대상으로 원리를 살펴봅니다.참고: web.dev · Optimize Cumulative Layout Shift

아래 예제는 외부 이미지를 다운로드하지 않습니다. 색 상자가 나중에 들어오는 이미지를 대신하며, 그 뒤 문장의 위치를 비교합니다. 네트워크가 느린 것처럼 시간을 꾸미거나 사이트의 실제 성능 점수로 표시하지 않습니다. 공간 예약 유무만 바꿨을 때 같은 크기의 요소가 주변에 미치는 차이를 볼 수 있도록 입력을 단순하게 고정했습니다.

width와 height는 반응형을 포기하라는 뜻이 아닙니다

HTML에 width=1200, height=800을 적었다고 모바일에서 반드시 1200px로 보여야 하는 것은 아닙니다. 이미지의 비율을 알려 주고 CSS로 사용 가능한 폭에 맞추는 방식이 가능합니다. 실제 파일이 1200×800이라면 비율은 3:2입니다. 표시 폭이 300px인 구간에서는 같은 비율의 높이가 200px이 됩니다.참고: MDN Web Docs · The Image Embed element

<img src="tray.jpg" width="1200" height="800" alt="테두리가 있는 트레이">
img { max-width: 100%; height: auto; }
파일의 비율표시 폭 예제필요한 높이확인할 점
1200 × 800, 3:2300px200px파일과 속성의 비율 일치
1600 × 900, 16:9320px180px너비 변화에 맞게 높이 계산
정사각형, 1:1280px280px모바일에서도 같은 비율 유지

반대로 3:2 이미지에 1:1 속성을 적으면 처음 예약한 공간과 최종 이미지의 비율이 다를 수 있습니다. 잘못된 숫자를 아무 값이나 넣는 것으로 문제가 해결되는 것은 아닙니다. 크롭한 썸네일과 본문 원본이 다른 비율이라면 각각을 구분하고, 교체한 파일의 크기와 코드의 비율도 함께 갱신해야 합니다.

같은 크기의 상자를 예약할 때와 하지 않을 때를 비교합니다

이 예제의 이미지 상자는 높이 160px입니다. 공간을 예약하지 않은 상태에서는 이미지가 없는 동안 그 영역의 높이가 0이고, 상자를 표시하면 아래 문장이 이동합니다. 예약한 상태에서는 상자가 없을 때도 160px 영역을 남기므로 표시 자체가 아래 문장의 시작 위치를 바꾸지 않습니다. 이동량은 예제 내부의 문장 위치 차이로 계산합니다.

이미지 로딩 전후에 같은 자리와 주변 문장 위치를 유지한 도식
간격·이미지 문맥·공간·색의 관계를 설명하는 생성 이미지입니다. 실제 상품 사양·브라우저 캡처·명암비·CLS 측정·접근성 인증 또는 독자 연구 결과가 아닙니다. 수치와 구현은 본문 예제로 확인합니다.

여기서 보여 주는 픽셀 값은 CLS 점수가 아닙니다. CLS는 화면에서 이동한 영역과 이동 거리 등을 조합하는 별도 지표이며, 사용자가 직접 일으킨 변화에 관한 조건도 있습니다. 버튼을 눌러 상자를 넣는 이 예제는 시각적 원리를 비교하기 위한 것입니다. 값이 0이라고 해서 실제 사이트의 모든 이미지·광고·글꼴 이동이 사라졌다고 해석하지 않습니다.참고: web.dev · Cumulative Layout Shift (CLS)

예제 설정상자 표시 전상자 표시 후아래 문장
공간 예약 안 함이미지 영역 높이 0높이 160px시작 위치가 내려감
공간 예약높이 160px 확보같은 영역에 표시시작 위치 유지

지연 로딩과 잘라 보여 주는 방식도 따로 확인합니다

loading=lazy는 이미지를 언제 불러올지에 관한 힌트이지 이미지가 들어갈 공간을 자동으로 설계하는 방법은 아닙니다. 지연 로딩 이미지도 적절한 비율을 제공해야 합니다. 반대로 첫 화면에서 바로 필요한 대표 이미지를 늦게 요청하면 사용자가 핵심 화면을 기다리는 문제가 생길 수 있으므로 모든 이미지에 같은 로딩 방식을 일괄 적용하지 않습니다.참고: MDN Web Docs · The Image Embed element

카드를 일정한 높이로 맞추면서 object-fit:cover로 이미지를 자르면 레이아웃은 안정적이어도 중요한 부분이 잘릴 수 있습니다. 상품의 손잡이, 치수선, 구성품 끝부분이 사라지는지 따로 봐야 합니다. 공간을 확보했다는 기술 상태와 정보를 온전히 보여 준다는 편집 상태가 모두 맞아야 합니다. 도식이나 가격표가 들어 있는 이미지에는 잘라내는 썸네일 방식을 특히 조심해서 적용합니다.

이미지를 고쳤는데도 밀린다면 위쪽 요소를 봅니다

이동한 문장이 원인인 것은 아닐 수 있습니다. 그 위에 새 공지 배너가 들어오거나 광고 영역이 커지면 문장 자체의 CSS가 그대로여도 위치가 바뀝니다. 개발 도구에서 이동한 요소를 찾았더라도 주변에서 크기가 달라진 요소를 함께 봐야 합니다. 원인을 찾지 않고 문장의 위쪽 여백을 줄이면 다른 상태에서 간격이 다시 어긋날 수 있습니다.

광고나 외부 위젯은 실제 높이가 항상 같지 않을 수 있어 공간 예약에 절충이 필요합니다. 요청이 실패했을 때 확보한 공간을 갑자기 없애는 동작도 다른 이동을 만듭니다. 글꼴 교체로 제목 줄 수가 달라지는 경우에는 이미지 예약만으로 해결되지 않습니다. 처음 로드할 때뿐 아니라 스크롤 뒤·메뉴 열기 뒤·느린 연결 상태를 구분해 기록합니다.참고: web.dev · Optimize Cumulative Layout Shift

고정 배너를 본문 위에 겹쳐 놓으면 문서 흐름이 움직이지 않을 수 있지만 글자나 버튼을 가리는 문제가 생길 수 있습니다. 이동 점수를 낮추기 위해 콘텐츠를 덮는 방식은 좋은 해결이 아닙니다. 실제 읽을 수 있는 영역과 키보드 초점이 가려지는지도 확인하고, 배너가 꼭 필요한 시점과 닫을 수 있는 방법을 함께 검토합니다.

측정할 때는 주소와 로딩 상태를 같이 적습니다

검사 기록에는 URL, 화면 폭, 연결 조건, 캐시 사용 여부, 글꼴 상태와 바뀐 요소를 적습니다. 처음 방문과 재방문은 리소스가 준비된 정도가 다를 수 있습니다. 한 번의 개발 도구 결과를 모든 방문자의 평균 경험으로 말하지 않고, 실제 사용자 데이터가 있다면 별도 자료로 구분합니다.

  1. 크기가 늦게 결정되는 이미지·광고·삽입 요소를 찾습니다.
  2. 실제 파일 비율과 HTML 속성 또는 예약 CSS를 대조합니다.
  3. 내용을 표시하기 전후의 주변 위치와 잘림을 확인합니다.
  4. 초기 로드와 나중에 추가되는 콘텐츠의 변화를 따로 기록합니다.
  5. 예제의 픽셀 이동과 실제 사이트의 CLS 관측값을 혼동하지 않습니다.

이 글은 이미지가 들어올 자리를 먼저 정하는 설계 원리를 설명합니다. 본문이 덜 움직이는 상태를 만드는 데 도움이 되는 검사이지만, 특정 사이트의 성능 등급이나 검색 노출이 개선됐다는 결과를 주장하지 않습니다. 실제 서비스에서는 배포 후 데이터와 화면을 다시 확인해야 합니다.

이미지 로딩 전 공간 예약을 확인한 순서

  1. 공간을 예약하지 않은 상태에서 이미지 상자를 표시하고 아래 문장 위치를 봅니다. 이는 실제 CLS 점수가 아닙니다.
  2. 초기화한 뒤 160px 예약을 선택해 같은 상자를 표시합니다. 이전과 같은 문장의 시작 위치를 비교합니다.
  3. 이미지를 교체할 때는 원본 비율과 예약한 비율을 대조합니다. 상자가 맞아도 필요한 그림 정보가 잘리면 재검수합니다.

이미지 로딩 전 공간 예약 판단에서 제외한 범위

  • 실제 네트워크 이미지 로딩 대신 같은 크기의 상자를 표시합니다.
  • 사용자 버튼 조작으로 만든 픽셀 이동이며 CLS 점수를 계산하지 않습니다.
  • 글꼴·광고·외부 위젯과 전체 페이지의 실제 성능은 별도 검사해야 합니다.

이미지 로딩 전 공간 예약에 사용한 원문

원문별 확인일과 참고 범위를 아래에 표시했습니다. 예제 입력값은 설명을 위한 설정이며 원문 기관의 제품 평가를 뜻하지 않습니다.

  1. Optimize Cumulative Layout Shiftweb.dev · 확인 2026-09-03

    이미지·광고·글꼴의 이동 원인과 공간 예약 원칙을 참고했습니다.

  2. The Image Embed elementMDN Web Docs · 확인 2026-09-03

    width·height와 로딩 속성의 역할을 참고했습니다.

  3. Cumulative Layout Shift (CLS)web.dev · 확인 2026-09-03

    CLS 지표와 사용자 동작으로 발생한 변화의 구분을 참고했습니다.

광고·협찬 고지
  • 광고·협찬 없이 작성
  • 예시는 detailry 자체 제작이며 실제 고객·매출 자료가 아닙니다.
  • 정정: 문의 페이지
  • 작성 기준: 작성 원칙
웹디자인 카테고리정정·문의

대표 이미지 교체 때 비율도 함께 승인합니다

이미지를 새 파일로 교체하면서 기존 width와 height를 그대로 두면 파일은 바뀌었지만 예약 공간은 이전 비율을 설명할 수 있습니다. 예를 들어 기존 파일이 1440×900이고 새 파일이 1536×1024라면 두 비율은 다릅니다. 새 이미지가 들어오기 전에는 예전 높이를 예약했다가 실제 비율에 맞춰 영역을 조정하는 상황이 생길 수 있으므로, 파일 교체 작업에 크기 속성과 표시 CSS 확인을 함께 넣습니다. 이 수치는 비율 차이를 설명하는 예제이며 특정 사이트의 이동량 측정값이 아닙니다.

표시 폭이 360 CSS 픽셀이라는 가정에서 1440×900 비율의 높이는 225 CSS 픽셀이고, 1536×1024 비율의 높이는 240 CSS 픽셀입니다. 이 두 값의 차이는 같은 폭에서 비율로 계산한 높이 차이입니다. 실제 브라우저의 요소 이동이나 CLS 점수로 해석하지 않습니다. CSS가 별도 비율이나 고정 높이를 지정하고 있는지, 이미지를 잘라 채우는지에 따라 실제 표시 조건도 달라집니다.

교체 기록확인할 내용
원본 속성새 파일의 실제 가로·세로 픽셀
HTML 속성width·height가 새 비율을 설명하는지
표시 규칙자동 높이·고정 비율·잘라 채우기 사용 여부
로딩 전후예약 영역과 표시 후 주변 문장 위치

모바일용 구도가 따로 있다면 각 구도의 비율이 같은지도 확인합니다. 데스크톱 이미지만 보고 공간을 예약한 뒤 모바일에서 세로로 긴 구도를 내려받으면 작은 화면에서만 문장이 움직이거나 일부 장면이 잘릴 수 있습니다. 후보 파일과 표시 규칙을 한 목록에 놓고, 작은 화면과 큰 화면의 상태를 따로 기록합니다. 화면 폭만 줄인 상태에서 기존 캐시를 재사용했다면 새 후보의 초기 로딩을 관찰했다고 단정하지 않습니다.

최종 승인에는 “이미지 표시됨”뿐 아니라 새 파일의 비율, 예약 규칙, 로딩 전후 관찰 조건을 남깁니다. 특히 본문에 치수선이나 중요한 설명이 있는 이미지라면 영역을 고정하기 위해 임의로 잘라내지 않습니다. 위치 이동을 줄이면서 핵심 정보가 보존되는지도 확인해야 합니다. 사이트 전체의 성능 등급은 별도의 실측 자료로 판단하고, 이 비율 계산을 성능 개선 결과로 표현하지 않습니다.

이미지 로딩 전 공간 예약 공개 페이지 재검수

이 글은 일반론으로 끝내지 않기 위해 2026년 9월 23일 공개 페이지의 HTML과 링크 구조를 다시 점검했습니다. width·height와 CSS 비율을 함께 확인하고 이미지 오류 상태에서도 본문 흐름이 붕괴되지 않는지 봅니다. 한 번의 CLS 수치를 모든 장치의 결과로 확대하지 않습니다.

확인 항목2026.09.23 공개 응답판단 범위
접속과 주소HTTP 200, H1 1개, canonical https://detailry.com/articles/web-image-layout-reservation/공개 URL과 대표 주소 일치만 확인
본문 구조공백 제외 5,257자, H2 11개, 이미지 2개길이가 아니라 주제별 판단 과정과 한계를 재검수
링크 경로내부 7개, 외부 8개, web.dev, developer.mozilla.org출처 존재와 실제 접속 상태를 별도로 확인

이 기록은 해당 날짜의 공개 상태를 보여주며 사용자 성과, 고객 전환, 제품 성능을 증명하지 않습니다. 이후 본문·이미지·출처가 바뀌면 같은 URL을 다시 확인해야 합니다.