2012-06-12 1 views
11

현재 추가 색상을 나타내는 venn 다이어그램을 만들려고하는 작은 프로젝트에서 작업 중입니다. 세 개의 원 (경계 반경 : 50 %;)으로 시작하고 숨겨진 오버플로가있는 정적 위치 요소의 조합을 사용하여 원이 겹치는 복잡한 모양을 만들었습니다. 내가 현재 여기에 무엇을 볼 수 있습니다 내가 추가 할HTML/CSS로 비 전형적인 모양 주위의 렌더링 상자 그림자

http://jsfiddle.net/GjvEE/

한 기능은 현재 마우스를 올리면 오버되는 모양 주위에 색 상자 그림자의 추가이다. 내가 직면하고있는 고유 한 과제는 숨겨진 오버플로가있는 요소의 중첩과 다이어그램의 각 섹션에 대한 상자 그림자를 렌더링하는 '모서리'를 만들어야한다는 것입니다. 이 방법을 폐지하고 SVG를 통해 셰이프를 만드는 옵션을 고려해 보았습니다.하지만 전통적인 HTML과 CSS3 만 사용하여 이러한 복잡한 상호 작용을보다 복잡한 모양으로 만드는 데 유용한 아이디어가 있는지 알고 싶습니다.

미리 감사드립니다.

+0

데이터 속성이 매우 유용합니다. – BumbleB2na

+0

IE8 이하를 지원 하시겠습니까? –

+0

아니요, IE9 이상. – Aaron

답변

1

CSS를 사용하는 방법 : 다른 사람들 뒤에 새로운 원을 생성하고 투명하게 사라지는 방사형 그라디언트 배경을 사용 하시겠습니까?

여기 빨간색과 파란색 원에 대한 Webkit의 빠른 구현을 수행했습니다. hover : 스타일 정의 다음에 유의하십시오. http://jsfiddle.net/stevelove/2hpwp/

+0

': after' 가상 클라스를 사용하는 것을 고려해 보았습니다. 여전히 중첩 된 요소로 만드는 올리브 쉐이프의 가장자리를 '추적하는'문제가있었습니다. 그래디언트는 향상된 방향 제어 기능을 통해 올바른 방향으로 나아갈 수 있습니다. – Aaron

+0

그냥 후속 조치 : 조금 연구를 해봤는데, 'border-radius'가 0이 아닌 요소에서 'overflow : hidden'의 동작이 여전히 대부분 유동적이며 웹 브라우저마다 다릅니다. 이전 버전의 브라우저에서 polyfill로 [HTML5 Please] (http://html5please.com/#svg)로 추천 한 SVG는 원래 생각했던 것보다 좀 더 실용적인 솔루션이라고 생각합니다. 대답 할 시간을내어 주셔서 감사합니다. – Aaron

+0

문제 없습니다. 몇 분만 시간을 보내는 재미있는 방법이었습니다. – stevelove