>  기사  >  웹 프론트엔드  >  인라인 SVG를 사용하여 반응형 클립 경로를 만드는 방법은 무엇입니까?

인라인 SVG를 사용하여 반응형 클립 경로를 만드는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-03 01:34:03514검색

How to Create Responsive Clip-Paths with Inline SVG?

반응형 SVG 인라인 클립 경로

인라인 SVG를 사용하여 반응형 클립 경로를 생성하는 데 문제가 있습니다. 반응형 SVG가 있음에도 불구하고 적용된 클립 경로의 크기가 올바르게 조정되지 않습니다.

SVG의 클립 경로 참조 방법에 문제가 있을 수 있습니다. 인라인 SVG 내에서 클립 경로를 정의할 때 클립 경로에 대해 SVG 자체를 참조하는 것은 올바른 접근 방식이 아닙니다.

해결책은 SVG의 섹션을 작성하고 클립 경로 속성을 사용하여 클립 경로를 적용하려는 요소에서 해당 정의를 참조하세요.

예는 다음과 같습니다.

<code class="html"><svg width="100%" height="100%" viewBox="0 0 1 1" preserveAspectRatio="none">
  <defs>
    <clipPath id="myClip">
      <path d="M0,0 1,0 1,0.9 C 1,0.9, 0.77,1, 0.5,1 0.23,1, 0,0.9,0,0.9z" />
    </clipPath>
  </defs>
</svg>

<header id="block-header">
  <svg width="0" height="0">
    <defs>
      <clipPath id="myClip" clipPathUnits="objectBoundingBox">
        <path d="M0,0 1,0 1,0.9 C 1,0.9, 0.77,1, 0.5,1 0.23,1, 0,0.9,0,0.9z" />
      </clipPath>
    </defs>
  </svg>
</header></code>

이 예는 다음과 같습니다.

  • 크기를 조정할 때 SVG가 종횡비를 왜곡하는 것을 방지하기 위해 첫 번째 SVG의 PreserveAspectRatio 속성은 없음으로 설정됩니다.
  • 헤더 요소 내부의 SVG는 크기가 0입니다. 페이지의 요소입니다.
  • 클립 경로 정의의 ClipPathUnits 속성은 objectBoundingBox로 설정됩니다. 이는 클립 경로의 좌표계가 적용되는 요소를 기반으로 함을 의미합니다.

이렇게 하면 클립 경로가 컨테이너 요소에 따라 반응적으로 확장됩니다.

위 내용은 인라인 SVG를 사용하여 반응형 클립 경로를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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