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 / Reference / white-space

CSS / Reference / white-space

white-space의 문법과 주요 값, 실제 적용 조건을 설명합니다. pre-wrap에서는 연속 공백과 원문의 줄바꿈이 남고, normal에서는 같은 텍스트가 일반적인 문장처럼 합쳐집니다.

CSS / Reference / font-variant

CSS / Reference / font-variant

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

CSS / Reference / letter-spacing, word-spacing

CSS / Reference / letter-spacing, word-spacing

letter-spacing, word-spacing의 문법과 주요 값, 실제 적용 조건을 설명합니다. 첫 줄은 각 문자의 간격이 넓어지고 두 번째 줄은 단어를 구분하는 공백의 간격이 더 넓어집니다.

CSS / Tutorial / 삼각형 만드는 방법

CSS / Tutorial / 삼각형 만드는 방법

CSS의 border 속성으로 삼각형을 만들 수 있습니다. 여러 형태의 삼각형을 만들고, 그 삼각형을 회전하는 방법을 알아봅니다.

CSS / Reference / color

CSS / Reference / color

color의 문법과 주요 값, 실제 적용 조건을 설명합니다. 글자 색과 currentColor 테두리가 함께 바뀝니다.

CSS / Reference / aspect-ratio

CSS / Reference / aspect-ratio

aspect-ratio의 문법과 주요 값, 실제 적용 조건을 설명합니다. 너비 240px인 첫 박스의 높이는 135px, 두 번째 정사각형은 240px입니다.

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

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

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

CSS / Reference / background-position

CSS / Reference / background-position

background-position의 문법과 주요 값, 실제 적용 조건을 설명합니다. 첫 도형은 기준 영역 중앙에 놓이고 두 번째 도형은 오른쪽과 아래 가장자리에서 지정한 거리만큼 떨어집니다.

CSS / Reference / background-size

CSS / Reference / background-size

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

CSS / Tutorial / 마우스 호버 효과 / 다른 이미지 보여주는 방법

CSS / Tutorial / 마우스 호버 효과 / 다른 이미지 보여주는 방법

이미지에 마우스를 올렸을 때 다른 이미지가 나타나는 효과를 CSS로 만들어보겠습니다. 다음과 같이 이미지 두 개를 넣고 div로 감쌉니다.