Треугольник на 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

8 Комментарии

  1. mdss

    Этой статье Криса сколько лет?

    1. Administrator (Автор записи)

      Статья прошлогодняя, но сниппеты актуальны всегда.

  2. antonmmf

    "используя всего лишь один div-блок"

    Чёт он ну ни разу не один, сколько я не пытался напрячь воображение.

    1. Administrator (Автор записи)

      Для каждого треугольника один блок.

  3. Юрий

    А позицию этого блока по пикселям менять нельзя?

    1. SelenIT

      Блок можно позиционировать как угодно, в т.ч. абсолютно.

  4. Алексей

    а как зделать треугольник из скруглеными углами?

    1. SelenIT

      Думаю, в 2015-м любые геометрические формы чуть-чуть сложнее базовых лучше всего делать на SVG.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.