2013-07-22 3 views
1

У меня есть div, у которого есть дополнительные дочерние div, прикрепленные к нему с позиционированием вне родительского div.CSS наброски исключительно вокруг родительского элемента

Я хочу, чтобы родительский div имел контур onclick, но контур распространяется вокруг дочерних div.

Есть ли способ иметь контур исключительно вокруг родительского div.

Я не могу использовать границу, поскольку родительский div уже имеет границу, я только хочу использовать контур для hightlight щелкнутого div.

Fiddle: jsfiddle.net/PZ7eW/1

+1

Сложно понять, некоторые jsfiddle помогут нам. – Cherniv

+0

Можете ли вы создать скрипку или код того, что у вас есть? Или добавить несколько фотографий, чтобы показать, что вы пытаетесь выполнить? – robooneus

+0

добавить код, чтобы лучше понять проблему –

ответ

1

Если я понял ваш вопрос правильно, вы должны изменить border когда div активен. outline охватывает прямоугольник, охватывающий все элементы в элементе.

EDIT

Благодаря комментариям, похоже, что вы не можете изменить границу и не использовать внешнюю оболочку для «набросков». Вместо этого вы можете попробовать внутренний позиционированный элемент. Пожалуйста, взгляните на скрипку.

Также div не может нормально получать фокус, следовательно, он также не может быть размытым. Вы можете заставить любой элемент получать фокус, установив для элемента элемент tabindex.

Похоже outline ведет себя по-разному в разных браузерах: В FF он охватывает прямоугольник, охватывающий все элементы в элементе, в Chrome и IE он охватывает только родительский элемент (который, как ожидается, поведение), в Опере outline происходит вокруг каждого ребенка элемент тоже. Следовательно, ответ на исходный вопрос: невозможно достичь этого, просто изменив outline.

A demo at jsFiddle.

+0

, как указано в исходном вопросе, граница уже используется –

+0

Тогда вам понадобится дополнительная обертка для 'div'. На мгновение, я исправлю ответ ... – Teemu

+0

У меня нет дополнительной оболочки, так как это будет мешать некоторым jquery, который я запускаю, я бы опубликовал весь код, но theres более 2000 строк, и это кажется неуместным для вопроса. Я просто надеялся, что существует какой-то быстрый способ обхода проблемы на границе. –