CSS 모서리 디자인의 진화: border-radius에서 corner-shape으로
border-radius 속성이 등장했을 때, 웹 개발자들은 5개의 배경 이미지를 조합하던 고통에서 해방되었습니다. 하지만 15년이 지난 지금, 우리가 가진 선택지는 여전히 '둥근 모서리' 하나뿐이었죠. 비벨(깎인) 모서리, 스쿼클(아이폰 앱 아이콘 같은) 모서리, 오목한 스쿱 모서리를 만들려면 clip-path나 SVG 마스크 등 복잡한 우회 방법을 써야 했습니다. 이제 CSS corner-shape 속성이 그 한계를 깨고 있습니다. 이 속성은 border-radius의 동반자로, 기존 라운딩의 '모양'을 변형시켜 줍니다. 자세한 내용은 Smashing Magazine의 corner-shape 속성 소개 글을 참고하세요.
왜 corner-shape이 중요한가?
국내 웹 에이전시나 SI 프로젝트에서는 클라이언트의 디자인 요구사항이 점점 더 정교해지고 있습니다. '프리미엄'한 느낌을 주기 위해 앱처럼 보이는 웹, 출판물 같은 감성의 웹을 요구하는 경우가 많죠. corner-shape은 이런 요구를 CSS 네이티브 속성으로 해결할 수 있는 실용적인 도구입니다. 특히 점진적 향상(Progressive Enhancement) 접근법이 핵심인데, 모든 브라우저에서 동작하는 기본 디자인을 만들고, 지원 브라우저에서만 향상된 경험을 제공하는 방식입니다. 이는 국내에서도 여전히 높은 점유율을 보이는 구형 브라우저 환경을 고려할 때 필수적인 접근법입니다.

corner-shape 속성 사용법과 실전 예제
corner-shape은 border-radius와 함께 사용해야 합니다. border-radius 값이 모서리의 '크기'를 결정한다면, corner-shape은 그 라운딩의 '곡선 형태'를 결정합니다.
기본 값과 사용법
/* 개별 코너에 다른 모양 지정하기 */
.element {
border-radius: 20px;
corner-shape: bevel round scoop squircle;
/* top-left, top-right, bottom-right, bottom-left 순 */
}
/* 스쿼클(슈퍼엘립스) 모서리 - iOS 앱 아이콘 느낌 */
.card {
border-radius: 25px;
corner-shape: squircle;
}
/* 비벨(깎인) 모서리 */
.badge {
border-radius: 8px;
corner-shape: bevel;
}
/* 스쿱(오목한) 모서리 - 편집 디자인 느낌 */
.featured-card {
border-radius: 24px;
corner-shape: scoop;
}
/* 노치(안으로 파인) 모서리 */
.tag {
border-radius: 6px;
corner-shape: notch;
}
점진적 향상(Progressive Enhancement) 패턴
모든 브라우저에서 작동하는 기본 디자인을 먼저 만들고, @supports로 향상된 스타일을 추가하는 것이 현명한 방법입니다.
/* 기본 레이어 - 모든 브라우저 */
.product__badge {
border-radius: 0 4px 4px 0;
background-color: var(--badge-color);
}
/* 향상 레이어 - corner-shape 지원 브라우저만 */
@supports (corner-shape: bevel) {
.product__badge {
padding: 0.35rem 1.4rem 0.35rem 1rem;
border-radius: 0 16px 16px 0;
corner-shape: round bevel bevel round; /* 리본 모양 */
}
}
이 패턴은 Microsoft Sovereign Cloud의 오프라인 AI 구동 전략에서 보듯, 기본 기능을 보장하면서 고급 기능을 추가하는 현대적 접근법과 맥을 같이합니다.

실무 적용 시 주의사항과 한계
1. 브라우저 지원 현황
| 브라우저 | 지원 여부 | 비고 |
|---|---|---|
| Chrome 139+ | ✅ | Chromium 기반 브라우저 포함 |
| Firefox | ❌ | 아직 지원하지 않음 |
| Safari | ❌ | 아직 지원하지 않음 |
| Edge 139+ | ✅ | Chromium 기반이므로 지원 |
국내 실무 적용 팁: 국내는 모바일 환경 비중이 높고, Android 웹뷰 버전이 다양합니다. @supports 감지와 기본 폴백 디자인을 철저히 적용해야 합니다. 절대 corner-shape에 의존한 레이아웃을 설계하지 마세요.
2. 성능과 애니메이션
corner-shape 값은 superellipse() 함수의 숫자 값으로 변환되어 애니메이션 가능합니다. 하지만 복잡한 모양이나 너무 많은 요소에 적용하면 페인팅 성능에 영향을 줄 수 있습니다.
/* 부드러운 모양 전환 애니메이션 */
.btn {
border-radius: 12px;
corner-shape: bevel;
transition: corner-shape 0.3s ease;
}
.btn:hover {
corner-shape: squircle;
}
3. 디자인 시스템 통합
기업의 디자인 시스템에 corner-shape을 통합할 때는 신중해야 합니다. 모든 컴포넌트에 무분별하게 적용하기보다는:
- 프리미엄 카드에는
squircle - 태그/뱃지에는
bevel또는notch - 특별 강조 요소에는
scoop과 같이 용도에 맞는 가이드라인을 만드는 것이 좋습니다.

결론: 다음 단계 학습 방향
corner-shape은 단순한 장식적 속성이 아닙니다. 이는 CSS의 표현력이 한 단계 진화했음을 보여주는 신호탄입니다. 앞으로 더 많은 브라우저가 지원하게 될 이 속성을 현업에 적용할 때는:
- 점진적 향상 철학을 지키세요. 모든 사용자에게 기본적인 좋은 경험을 제공하는 것이 최우선입니다.
- 디자인 토큰으로 관리하세요.
--corner-shape-squircle: squircle;같은 CSS 변수로 정의하면 유지보수가 쉬워집니다. - 접근성을 고려하세요. 지나치게 독특한 모서리 디자인이 콘텐츠 인식에 방해가 되지 않도록 주의하세요.
이 기술의 발전은 Azure의 AI 데이터센터 통합 전략처럼, 기존 인프라 위에 새로운 가능성을 쌓아가는 패러다임과 유사합니다. 기본(border-radius)은 그대로 유지하면서, 지원 환경에서 더 풍부한 표현(corner-shape)을 제공하는 것이 현명한 웹 개발자의 자세입니다.
함께 보면 좋은 글
- 엔비디아 루빈 출시 전, 이미 준비 끝낸 Azure의 AI 데이터센터 전략
- 클라우드 연결이 끊겨도 안전하게 AI를 구동하는 법 Microsoft Sovereign Cloud 업데이트 핵심
CSS의 진화는 멈추지 않습니다. corner-shape이 익숙해지면, 다음에는 border-shape 속성이 우리를 기다리고 있을지도 모르겠네요.