AD JB Toolbox 01

CSS / Reference / clip

clip은 절대 위치 요소의 보이는 부분을 사각형으로 제한하는 기존 CSS 속성입니다. 현재는 사용 중단이 권고되는 기능이므로 기존 코드를 이해할 때 참고하고, 새 구현에는 clip-path를 우선 검토하세요.

문법과 주요 값

.legacy { position: absolute; clip: rect(20px, 180px, 100px, 20px); }
.modern { clip-path: inset(20px); }
값 또는 구분 동작과 선택 기준
auto clip으로 자르지 않음
rect(top, right, bottom, left) 위·오른쪽·아래·왼쪽 경계 좌표
position: absolute / fixed 기존 clip이 적용되는 위치 지정 조건
clip-path: inset(...) 새 코드에서 검토할 사각형 클리핑 대안

값의 적용 범위와 문법은 MDN의 clip 문서, MDN의 clip-path 문서에서 확인할 수 있습니다.

실행 예제와 결과 비교

아래 전체 코드를 UTF-8 형식의 clip-example.html 파일로 저장한 뒤 브라우저로 여세요. 예제용 CSS는 이 파일 안에만 넣고 사이트 전체 스타일시트에 그대로 붙여 넣지 않습니다.

<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>clip 비교 예제</title>
<style>
body { margin: 0; color: #20242b; background: #fff; font: 16px/1.7 "Malgun Gothic", sans-serif; }
#demo { padding: 24px; max-width: 820px; margin: auto; }
h1 { font-size: 22px; margin: 0 0 20px; }
.samples { display: flex; flex-wrap: wrap; gap: 24px; }
.label { margin: 0 0 8px; font-weight: 700; }
.frame { width: 200px; height: 120px; position: relative; background: #eee; }
.target, .reference { width: 200px; height: 120px; background: linear-gradient(135deg, #006c9c, #ffd166); }
.target { position: absolute; clip: rect(20px, 180px, 100px, 20px); }
.reference { clip-path: inset(20px); }
</style>
</head>
<body>
<main id="demo">
<h1>clip 적용 비교</h1>
<section class="samples"><div><p class="label">기존 clip</p><div class="frame"><div class="target"></div></div></div><div><p class="label">clip-path: inset(20px)</p><div class="frame"><div class="reference"></div></div></div></section>
</main>
</body>
</html>

200×120px 도형에서 네 변 안쪽 20px만큼 제외한 영역이 보입니다. right와 bottom은 오른쪽·아래에서 뺄 거리가 아니라 왼쪽·위쪽 기준의 경계 좌표입니다.

200×120px 도형에서 네 변 안쪽 20px만큼 제외한 영역이 보입니다.

rect 좌표와 inset 거리의 차이

clip의 right 180px는 왼쪽에서 180px인 경계, bottom 100px는 위에서 100px인 경계입니다. clip-path: inset(20px)는 각 변에서 안쪽으로 20px를 제외합니다. 서로 다른 크기의 요소에 숫자를 그대로 옮기면 같은 영역이 되지 않을 수 있습니다.

표시를 자르는 것과 크기를 바꾸는 것

클리핑은 일반적으로 요소의 레이아웃 크기를 줄이지 않습니다. 일반 흐름 요소나 비사각형 모양에는 clip-path가 더 적합하며 overflow는 내용이 박스를 넘는 경우를 다루는 별도 기능입니다. 기존 화면을 이관할 때에는 포커스 표시와 자식 내용의 잘림도 함께 확인합니다.

적용되지 않거나 예상과 다를 때

  • position: static이나 relative 요소에 기존 clip을 썼다면 적용 조건을 확인합니다.
  • 좌표 순서가 틀리거나 아래·오른쪽을 여백으로 해석하지 않았는지 확인합니다.

관련 설정을 함께 조정할 때는 overflow와 클리핑의 역할 구분을 참고하세요.

같은 카테고리의 다른 글
CSS 강좌 / 글꼴, 글자 크기, 굵기, 줄 간격 설정하기

CSS 강좌 / 글꼴, 글자 크기, 굵기, 줄 간격 설정하기

글꼴·글자 크기·굵기·줄 간격을 설정하고 실제 사용된 글꼴을 확인하는 방법을 설명합니다. 단위 없는 line-height와 em 값의 상속 차이를 실행 가능한 예제로 비교합니다.

CSS / Reference / background-clip

CSS / Reference / background-clip

background-clip의 문법과 주요 값, 실제 적용 조건을 설명합니다. 점선 테두리의 틈과 안쪽 여백을 보세요.

CSS 강좌 / width, height, min, max, box-sizing으로 크기 조절하기

CSS 강좌 / width, height, min, max, box-sizing으로 크기 조절하기

content-box와 border-box의 너비 계산, 최소·최대 크기, 고정 높이와 내용에 맞는 높이를 비교합니다. 화면과 글자 크기를 바꾸며 넘침을 진단하고 백분율 높이의 조건을 확인합니다.

CSS / Reference / background-size

CSS / Reference / background-size

background-size의 문법과 주요 값, 실제 적용 조건을 설명합니다. 예제의 배경 도형은 160×80 비율입니다.

CSS 강좌 / CSS를 HTML에 적용시키는 방법

CSS 강좌 / CSS를 HTML에 적용시키는 방법

인라인·내부·외부 CSS의 작성 위치를 비교하고, 두 HTML 페이지가 하나의 스타일시트를 공유하도록 구성합니다. 폴더 위치에 따른 경로와 CSS가 적용되지 않을 때의 확인 순서도 설명합니다.

CSS 강좌 / 이미지와 동영상 크기·비율 맞추기

CSS 강좌 / 이미지와 동영상 크기·비율 맞추기

이미지와 동영상의 원본 비율과 표시 영역을 구분하고 aspect-ratio·object-fit으로 크기와 잘림을 조절합니다. 같은 그림의 네 가지 비교와 재생 가능한 영상 예제로 결과를 확인합니다.

CSS 강좌 / position의 값이 fixed일 때 가운데 정렬하는 방법

CSS 강좌 / position의 값이 fixed일 때 가운데 정렬하는 방법

position의 fixed를 이용하여 요소의 위치를 고정시킬 수 있습니다. 예를 들어 상단에 고정되는 메뉴바를 만들 때 사용합니다. 그런데, fixed를 하면 요소가 한쪽으로 치우칩니다. 만약 가운데에 위치시키고 싶다면 어떻게 할까요? transform 속성으로 해결할 수 있습니다.

CSS 강좌 / 폼 상태와 키보드 초점 꾸미기

CSS 강좌 / 폼 상태와 키보드 초점 꾸미기

폼의 필수·유효성·비활성·읽기 전용 상태와 키보드 초점을 구분합니다. 실제 제출 항목을 확인하고 작은 화면·큰 글자에 대응하는 전체 예제를 제공합니다.

CSS / Reference / font-variant

CSS / Reference / font-variant

font-variant의 문법과 주요 값, 실제 적용 조건을 설명합니다. 영문 소문자의 모양과 높이를 비교하세요.

CSS / Tutorial / 문자열 자르는 방법

CSS / Tutorial / 문자열 자르는 방법

웹페이지에 출력하는 문자열의 길이는 서버단에서 조절하는 게 보통입니다. 하지만, 어떤 경우에는 그게 불가능할 수 있습니다. 이미 전송 받은 문자열을 잘라야 하는 상황이 생길 수 있습니다. CSS를 이용하여 문자열의 일부만 보여주는 방법을 소개해드립니다.