>  기사  >  웹 프론트엔드  >  CSS에서 반전된 테두리 반경을 어떻게 달성할 수 있습니까?

CSS에서 반전된 테두리 반경을 어떻게 달성할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-29 09:09:30298검색

How Can I Achieve Inverted Border-Radius in CSS?

역경계 반경: CSS 및 비기본 솔루션 탐색

혁신적인 디자인을 추구하는 과정에서 "역전된 테두리"를 만드는 문제는 " border-radius가 자주 발생합니다. 테두리 반경은 웹 디자인에서 널리 사용되지만 일반적으로 요소 내부에 둥근 모서리를 적용합니다. 그러나 제공된 이미지의 검정색 화살표로 표시된 것처럼 외부에 둥근 모서리 효과를 얻으려면 대안적인 접근 방식이 필요합니다.

네이티브 CSS 제한 사항

네이티브 CSS 속성 border-radius는 음수 값을 지원하지 않으므로 효과를 직접 반전시킬 수 없습니다. 사용자의 답변에서 제안한 것과 같은 라이브러리는 원하는 모양을 모방하는 추가 HTML 요소를 생성하여 이 효과를 구현합니다.

순수한 CSS 접근 방식

CSS만을 사용하여 다음을 수행할 수 있습니다. 추가 요소를 세심하게 배치하여 반전된 테두리 반경의 환상을 만듭니다.

  1. 컨테이너(#main)를 정의하고 절대 위치에 4개의 하위 요소(div)를 추가합니다.
  2. 배경을 설정합니다. 페이지 배경과 일치하도록 하위 요소의 색상을 지정합니다.
  3. 음수 여백을 사용하여 하위 요소를 컨테이너 바깥쪽에 약간 배치합니다.
  4. 하위 요소에 테두리 반경을 적용하여 원하는 효과를 만듭니다.

예:

<code class="html"><div id="main">
  <div class="top left"></div>
  <div class="top right"></div>
  <div class="bottom left"></div>
  <div class="bottom right"></div>
</div></code>
<code class="css">#main {
  margin: 40px;
  height: 100px;
  background-color: #004C80;
  position: relative;
  overflow: hidden;
}

#main div {
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background-color: #FFF;
}

.top { top: -10px; }
.bottom { bottom: -10px; }
.left { left: -10px; }
.right { right: -10px; }</code>

이 접근 방식은 기본 테두리의 한계를 인정하면서 반전된 테두리 반경에 대한 순수한 CSS 솔루션을 제공합니다. 반경.

위 내용은 CSS에서 반전된 테두리 반경을 어떻게 달성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.