Создание зубчатой ​​границы треугольника в CSS

У меня есть форма с таким краем в Photoshop:

образ

Можно ли сделать повторяющиеся треугольники границей с CSS?

Вы можете использовать gradleиенты css3 для создания фона с рисунком зигзагообразно, используйте псевдоним after css, чтобы применить его как границу.

HTML:

 

This is a header

CSS:

 .header{ color:white; background-color:#2B3A48; text-align:center; } .header:after { content: " "; display:block; position: relative; top:0px;left:0px; width:100%; height:36px; background: linear-gradient(#2B3A48 0%, transparent 0%), linear-gradient(135deg, #272220 33.33%, transparent 33.33%) 0 0%, #272220 linear-gradient(45deg, #272220 33.33%, #2B3A48 33.33%) 0 0%; background: -webkit-linear-gradient(#2B3A48 0%, transparent 0%), -webkit-linear-gradient(135deg, #272220 33.33%, transparent 33.33%) 0 0%, #272220 -webkit-linear-gradient(45deg, #272220 33.33%, #2B3A48 33.33%) 0 0%; background: -o-linear-gradient(#2B3A48 0%, transparent 0%), -o-linear-gradient(135deg, #272220 33.33%, transparent 33.33%) 0 0%, #272220 -o-linear-gradient(45deg, #272220 33.33%, #2B3A48 33.33%) 0 0%; background: -moz-linear-gradient(#2B3A48 0%, transparent 0%), -moz-linear-gradient(135deg, #272220 33.33%, transparent 33.33%) 0 0%, #272220 -moz-linear-gradient(45deg, #272220 33.33%, #2B3A48 33.33%) 0 0%; background-repeat: repeat-x; background-size: 0px 100%, 9px 27px, 9px 27px; } 

Источник: CSS Zigzag Border с текстурированным фоном

JSFiddle: http://jsfiddle.net/kA4zK/

Для будущих зрителей я нашел эту адаптацию ответа @ extramaster немного проще.

Это по сути то же самое, но он использует один меньше gradleиентов фона и позволяет .navbar объекту ( .navbar в моей разметке) отображать вместо жесткого кодирования второй цвет в zig-zag.

JsFiddle: http://jsfiddle.net/861gjx0b/2/

HTML:

 

This is a header

CSS:

 .header{ position:relative; color:white; background-color:#2B3A48; text-align:center; } .navbar { background: #272220; height:20px; } .header:after { content: ""; position: absolute; display: block; height: 10px; bottom: -10px; /* -height */ left:0; right:0; /* TODO Add browser prefixes */ background: linear-gradient( 45deg, transparent 33.333%, #2B3A48 33.333%, #2B3A48 66.667%, transparent 66.667% ),linear-gradient( -45deg, transparent 33.333%, #2B3A48 33.333%, #2B3A48 66.667%, transparent 66.667% ); background-size: 8px 20px; /* toothSize doubleHeight */ background-position: 0 -10px; /* horizontalOffset -height */ } направо .header{ position:relative; color:white; background-color:#2B3A48; text-align:center; } .navbar { background: #272220; height:20px; } .header:after { content: ""; position: absolute; display: block; height: 10px; bottom: -10px; /* -height */ left:0; right:0; /* TODO Add browser prefixes */ background: linear-gradient( 45deg, transparent 33.333%, #2B3A48 33.333%, #2B3A48 66.667%, transparent 66.667% ),linear-gradient( -45deg, transparent 33.333%, #2B3A48 33.333%, #2B3A48 66.667%, transparent 66.667% ); background-size: 8px 20px; /* toothSize doubleHeight */ background-position: 0 -10px; /* horizontalOffset -height */ } 

Вы можете создать отдельный треугольник с помощью CSS довольно легко (просто настроить свойства границы). Для того, чтобы это сработало, вам нужно будет создать очень немного разметки самостоятельно. Я бы рекомендовал против такого подхода.

Вместо этого вам, скорее всего, лучше использовать индивидуальное изображение, содержащее один треугольник (желательно прозрачный .png), а затем использовать свойства background-image и background-repeat ( repeat-x ) для привязки к div (ваша «граница»).

К сожалению, пока нет прямого пути достижения этого, используя чистый CSS.

В CSS3 есть свойство border-image. Может быть, вы можете работать так, как хотите. Подробнее здесь http://www.w3schools.com/cssref/css3_pr_border-image.asp

  • Есть ли в Google Chrome «сглаживание шрифтов»?
  • Как сбросить / удалить границу выделения хрома или границы фокуса?
  • Черное прозрачное оверлейное изображение на изображении с помощью CSS?
  • Как выбрать элемент на основе состояния другого элемента на странице с помощью CSS?
  • Вложенные classы CSS
  • Селектор CSS для имен атрибутов на основе шаблона
  • CSS-медиа-запрос для iPad и iPad?
  • при масштабировании элемента с масштабом css3 он становится пиксельным до тех пор, пока анимация не будет завершена. Я анимация элемента с границей
  • Двухцветный фон, разделенный диагональной линией, используя css
  • Могу ли я настроить таргетинг на: перед или: после псевдоэлемента с помощью сочетания братьев и сестер?
  • Запросы СМИ не ведут себя так, как ожидалось на Android
  • Interesting Posts

    Как я могу запросить таблицу ARP на iPhone?

    Вы должны использовать тему Theme.AppCompat (или потомок) с этим действием

    Удалять файлы из одной папки, если аналогичный файл не существует в другой папке

    Я рискую уничтожить вентилятор, если я использую пылесос на моем ноутбуке?

    Вызов форм из диалоговых окон

    перенос вектора переменных в формулу lm ()

    Есть ли способ «отключить» подключенный сетевой диск, но НЕ удалять сопоставление?

    Как выбрать переключатели по значению ячейки в Excel?

    pattern.matcher () vs pattern.matches ()

    Еще один «driver_power_state_failure» на Win8.1 (с DUMP)

    Получить список субтитров, используя mediainfo в Windows

    Есть ли способ закрыть StreamWriter без закрытия BaseStream?

    Android – стильная панель поиска

    Поиск инструмента для отображения IP-пакетов (и проведения анализа), отправленных / полученных с / на мой компьютер (хотите отладить, почему не удается подключить сетевой диск)

    Как установить частный модуль NPM без моего собственного реестра?

    Давайте будем гением компьютера.