CSS Triangle

The idea is a box with zero width and height. The actual width and height of the arrow is determined by the width of the border.

by Wentz Wu

HTML

<div class="arrow-up"></div>
<div class="arrow-down"></div>
<div class="arrow-left"></div>
<div class="arrow-right"></div>

CSS

div{
  margin: 10px;
}
.arrow-up {
	width: 0; 
	height: 0; 
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;	
	border-bottom: 20px 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: 20px solid transparent;
	border-bottom: 20px solid transparent;
	border-left: 20px solid green;
}

.arrow-left {
	width: 0; 
	height: 0; 
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent; 
	border-right: 20px solid blue; 
}

JavaScript

https://css-tricks.com/snippets/css/css-triangle/