Могу ли я сделать эту хлебную крошку с помощью css3?

Я пытался сделать этот PSD с помощью CSS?

введите здесь описание изображения

Пока я достиг это. Могу ли я добиться этого дизайна с помощью CSS3 или мне нужно использовать метод фонового изображения старой школы?


person NativeCoder    schedule 15.07.2012    source источник
comment
Для метода CSS3 рассмотрите этот ответ SO.   -  person arttronics    schedule 21.07.2012


Ответы (3)


Короче говоря, да, это возможно только с помощью CSS (даже без CSS2), но я бы настоятельно рекомендовал вам вместо этого использовать фоновые изображения.

разглагольствовать

Проблема с подобным CSS — это тени. То, как он отображает треугольник, — это просто граница, прозрачная на диагональных сторонах. Другими словами, ваша тень по-прежнему будет коробкой и не будет выглядеть так, как вы хотите.

Я часто вижу это, когда люди начинают использовать CSS3. Обычно они хотят, чтобы все делалось динамически, а не с фоновыми изображениями. И как только это будет сделано, появится множество CSS, которые почти ничего не сделают с эстетической точки зрения для страницы. На самом деле для достижения такого же эффекта с изображениями требуется всего 10-15% того, что у них получается.

С фоновыми изображениями проблем нет, они не выходят из моды и уж точно не перестанут работать в ближайшее время. Мой совет: придерживайтесь фоновых изображений там, где они нужны, и сохраните CSS3 для спецэффектов. Это звучит скучно и старомодно, но это работает и намного проще.

person Jon Egeland    schedule 15.07.2012
comment
Я хочу проголосовать за разглагольствования, но думаю, что не согласен - есть проблемы с фоновыми изображениями. Во-первых, они негибкие и требуют специальных инструментов и навыков для редактирования, в то время как для CSS требуется только текстовый редактор и знание CSS. Я знаю, о чем вы говорите, хотя и с разглагольствованиями. - person Wesley Murch; 16.07.2012
comment
@WesleyMurch Когда я говорил о проблемах, я имел в виду, что они будут одинаково работать во всех браузерах. А фоновые изображения можно сделать и в Paint на ПК, просто тоже может не получиться. Это ни в коем случае не игра определенностей. - person Jon Egeland; 16.07.2012
comment
Попался, я просто не могу заставить себя отговаривать людей, которые хотят довести CSS до предела. Когда-то у меня был целый арсенал PNG-файлов разного размера, цвета и прозрачности, которые я использовал для простых градиентов, таких как gradient-black-vertical-200px-80.png. Я действительно не скучаю по необходимости делать это. - person Wesley Murch; 16.07.2012

Это кажется относительно простым проектом CSS; просто, здесь, относительно, так как я видел, как люди делали анимированный Twitter Fail Whale только с помощью CSS.
Что вам нужно будет сделать для краев треугольника (что, как я полагаю, является сложной частью для вас) , используется матричное преобразование CSS (разработано на W3Schools), а затем просто используйте box-shadow для границ и box-shadow: inset для эффекта вставки. После этого просто используйте соответствующие отступы и выравнивание текста, чтобы центрировать текст в каждой части объекта.

РЕДАКТИРОВАТЬ Рассмотрите возможность использования псевдоэлементов before и after для достижения этой цели. В качестве альтернативы вы можете использовать две перекошенные <div>, расположенные друг над другом для каждой секции; однако это не даст вам привлекательной тени.

person Jules    schedule 16.07.2012

Я не думаю, что это возможно только с помощью CSS. Вам придется использовать фоновое изображение. Вы сможете создать эффект сужающихся краев, используя псевдоклассы :after и :before. Но столкнется с проблемой внутренней тени.

Однажды я пытался создать аналогичную цепочку, используя только css3, когда увидел навигационную цепочку в Справочном центре Google (которая похожа, но с использованием фонового изображения), но не смог этого сделать.

http://support.google.com/adsense/bin/answer.py?hl=ru&answer=1354760

Я попытался сделать это с помощью псевдоэлементов CSS (:after и :before), не добавляя никаких других элементов html.

person Joyce Babu    schedule 15.07.2012