> 웹 프론트엔드 > CSS 튜토리얼 > 연결된 SVG 경로 세그먼트로 클릭 가능한 원을 만드는 방법은 무엇입니까?

연결된 SVG 경로 세그먼트로 클릭 가능한 원을 만드는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-14 19:56:12
원래의
556명이 탐색했습니다.

How to Create a Clickable Circle with Linked SVG Path Segments?

연결된 테두리 세그먼트가 있는 원 만들기

제공된 원을 클릭 가능한 주황색 측면으로 복제하려는 과정에서 테두리를 사용하는 것이 분명해졌습니다. 만으로는 충분하지 않습니다. 해결책은 SVG 경로와 삼각법을 활용하여 원의 선분을 정의하는 좌표를 생성하는 것입니다.

원의 점 계산

선분의 좌표를 찾으려면 , 원하는 세그먼트 수에 따라 삼각 방정식을 사용합니다. 예를 들어 6개의 세그먼트로 구성된 원을 만들려면 360도를 6으로 나누어 60도 세그먼트를 만듭니다.

여기에서 다음 방정식을 사용하여 각 점의 X 및 Y 좌표를 파생할 수 있습니다.

  • X 좌표 = 반경 * Cos(라디안 각도) 중심점 X 좌표
  • Y 좌표 = 반경 * Sin(라디안 단위의 각도) 중심점 Y 좌표

SVG 경로 정의

점을 알고 나면 경로 자체를 만듭니다. . 원의 중심점(50,55)에서 시작하고 끝나야 하며 다음 지점까지 호를 만들기 전에 첫 번째 지점까지 선을 그려야 합니다. 예는 다음과 같습니다.

<path d='M55,55 L105,55 A50,50 0 0,1 80,98.30z' />
로그인 후 복사

세그먼트에 링크 생성

세그먼트에 링크를 추가하려면 각 <경로> 요소를 추가하고 CSS 스타일을 추가하여 모양을 맞춤설정하세요.

6개 세그먼트 원의 예

다음은 6개 세그먼트가 있는 원의 데모입니다.

<svg viewBox='0 0 110 110'>
  <path d='M55,55 L105,55 A50,50 0 0,1 80,98.30z' href='link1' />
  <path d='M55,55 L80,98.30 A50,50 0 0,1 30,98.30z' href='link2' />
  <path d='M55,55 L30,98.30 A50,50 0 0,1 5,55z' href='link3' />
  <path d='M55,55 L5,55 A50,50 0 0,1 30,11.69z' href='link4' />
  <path d='M55,55 L30,11.69 A50,50 0 0,1 80,11.69z' href='link5' />
  <path d='M55,55 L80,11.69 A50,50 0 0,1 105,55z' href='link6' />
</svg>
로그인 후 복사

위 내용은 연결된 SVG 경로 세그먼트로 클릭 가능한 원을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿