2012-06-12 3 views
11

В настоящее время я работаю над небольшим проектом, в котором я пытаюсь создать диаграмму venn, представляющую аддитивные цвета. Я начал с трех кругов (border-radius: 50%;) и использовал комбинацию элементов статической позиции со скрытым переполнением, чтобы создать некоторые из более сложных фигур, где круги перекрываются. Вы можете увидеть, что я в настоящее время здесь:Ящик рендеринга тень вокруг нетрадиционных форм с HTML/CSS

http://jsfiddle.net/GjvEE/

Одна особенность, которую я хотел бы добавить, это добавление цветного коробчатого тень вокруг формы в настоящее время удерживал указатель мыши поверх. Уникальная задача, с которой я сталкиваюсь, представлена ​​вложением элементов со скрытым переполнением и необходимостью создания «faux-edge», по которым визуализируется тень окна для каждого раздела диаграммы. Я рассмотрел возможность просто отказаться от этого подхода и создать формы через SVG, но мне интересно узнать, есть ли у кого-нибудь какие-нибудь умные идеи для построения такого рода взаимодействия в более сложные формы, используя только традиционные HTML и CSS3.

Заранее благодарен!

+0

Очень хорошее использование данных-атрибутов – BumbleB2na

+0

Вы хотите поддержать IE8 или ранее? –

+0

Нет, просто IE9 +. – Aaron

ответ

1

Как насчет использования CSS: после создания новых кругов за другими и использования радиального градиентного фона, который исчезает до прозрачности?

Я сделал быстрые базовые реализации для Webkit на красных и синих кругах. Обратите внимание на: hover: после определения стиля. http://jsfiddle.net/stevelove/2hpwp/

+0

Я рассматривал использование псевдослова ': after', проблема, с которой я все еще сталкивался, - это« трассировка »краев тех форм оливкового, которые я создаю с помощью вложенных элементов. Градиенты с расширенным контролем направленности, которые они предлагают, могут быть шагом в правильном направлении. – Aaron

+0

Просто продолжение: я проводил небольшое исследование, и похоже, что поведение «переполнения: скрытое» на элементах с ненулевым «граничным радиусом» по-прежнему в значительной степени зависит от разных браузеров. Я полагаю, что SVG, рекомендованный [HTML5 Please] (http://html5please.com/#svg) с полифилом для старых браузеров, немного более жизнеспособен как решение, чем я изначально думал. Спасибо, что нашли время ответить. – Aaron

+0

Нет проблем. Это был интересный способ провести несколько минут. – stevelove

Смежные вопросы