Треугольник на CSS
HTML
Сам треуголник можно создать, используя всего лишь один div-блок.
<div class="arrow-up"></div> <div class="arrow-down"></div> <div class="arrow-left"></div> <div class="arrow-right"></div>
CSS
Сам блок не имеет ни ширины, ни высоты, т.е. высота и ширина блока равна нулю. Фактически, ширина и высота треуголника (стрелки) определяется шириной его границы. Например, в примере с черной стрелкой нижняя граница имеет черный цвет, а левая и правая границы прозрачные, которые и образуют треуголник.
.arrow-up { width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 5px solid black; } .arrow-down { width: 0; height: 0; border-left: 20px solid transparent; border-right: 20px solid transparent; border-top: 20px solid #f00; } .arrow-right { width: 0; height: 0; border-top: 60px solid transparent; border-bottom: 60px solid transparent; border-left: 60px solid green; } .arrow-left { width: 0; height: 0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; border-right:10px solid blue; }
See the Pen yGCAF by Vadim (@vadimon) on CodePen.
P.S. Это тоже может быть интересно:
None Found
Этой статье Криса сколько лет?
Статья прошлогодняя, но сниппеты актуальны всегда.
"используя всего лишь один div-блок"
Чёт он ну ни разу не один, сколько я не пытался напрячь воображение.
Для каждого треугольника один блок.
А позицию этого блока по пикселям менять нельзя?
Блок можно позиционировать как угодно, в т.ч. абсолютно.
а как зделать треугольник из скруглеными углами?
Думаю, в 2015-м любые геометрические формы чуть-чуть сложнее базовых лучше всего делать на SVG.