Блоки со стрелками (часть 1)

Добавить стрелки к блоку можно с помощью псевдо-элемента :before.

<div class="arrow">
	Пример блока со стрелкой CSS
</div>
HTML
1

Стрелки сверху

Слева

.arrow {
	width: 300px;
	padding: 10px 10px;
	position: relative;
	background: #eee;
	border-radius: 3px;
}
.arrow:before {
	content: ""; 
	border: solid transparent;
	position: absolute;    
	left: 8px;    
	bottom: 100%;
	border-bottom-color: #eee;
	border-width: 9px;
	margin-left: 0;
}
CSS

По центру

.arrow {
	width: 300px;
	padding: 10px 10px;
	position: relative;
	background: #eee;
	border-radius: 3px;
}
.arrow:before {
	content: ""; 
	border: solid transparent;
	position: absolute;   
	bottom: 100%;
	left: 50%;
	border-bottom-color: #eee;
	border-width: 9px;
	margin-left: -9px;
}
CSS

Справа

.arrow {
	width: 300px;
	padding: 10px 10px;
	position: relative;
	background: #eee;
	border-radius: 3px;   
}
.arrow:before {
	content: ""; 
	border: solid transparent;
	position: absolute; 
	bottom: 100%;
	right: 8px;
	border-bottom-color: #eee;
	border-width: 9px;
	margin-right: -1px;
}
CSS
2

Стрелки снизу

Слева

.arrow {
	width: 300px;
	padding: 10px 10px;
	position: relative;
	background: #eee;
	border-radius: 3px;   
}
.arrow:before {
	content: ""; 
	border: solid transparent;
	position: absolute; 
 	top: 100%;
	left: 16px;
	border-top-color: #eee;
	border-width: 9px;
	margin-left: -1px;
}
CSS

По центру

.arrow {
	width: 300px;
	padding: 10px 10px;
	position: relative;
	background: #eee;
	border-radius: 3px;   
}
.arrow:before {
	content: ""; 
	border: solid transparent;
	position: absolute;
 	top: 100%;
	left: 50%;
	border-top-color: #eee;
	border-width: 9px;
	margin-left: -9px;
}
CSS

Справа

.arrow {
	width: 300px;
	padding: 10px 10px;
	position: relative;
	background: #eee;
	border-radius: 3px;   
}
.arrow:before {
	content: ""; 
	border: solid transparent;
	position: absolute; 
 	top: 100%;
	right: 8px;
	border-top-color: #eee;
	border-width: 9px;
	margin-right: -1px;
}
CSS
3

Стрелки слева

Сверху

.arrow {
	width: 300px;
	padding: 20px 10px;
	position: relative;
	background: #eee;
	border-radius: 3px;   
}
.arrow:before {
	content: ""; 
	border: solid transparent;
	position: absolute;  
	right: 100%;
	top: 8px;
	border-right-color: #eee;
	border-width: 9px;
	margin-top: -1px;
}
CSS

По центру

.arrow {
	width: 300px;
	padding: 20px 10px;
	position: relative;
	background: #eee;
	border-radius: 3px;   
}
.arrow:before {
	content: ""; 
	border: solid transparent;
	position: absolute;  
	right: 100%;
	top: 50%;
	border-right-color: #eee;
	border-width: 9px;
	margin-top: -9px;
}
CSS

Снизу

.arrow {
	width: 300px;
	padding: 20px 10px;
	position: relative;
	background: #eee;
	border-radius: 3px;   
}
.arrow:before {
	content: ""; 
	border: solid transparent;
	position: absolute;    
	right: 100%;
	bottom: 8px;
	border-right-color: #eee;
	border-width: 9px;
	margin-bottom: -1px;
}
CSS
4

Стрелки справа

Сверху

.arrow {
	width: 300px;
	padding: 20px 10px;
	position: relative;
	background: #eee;
	border-radius: 3px;   
}
.arrow:before {
	content: ""; 
	border: solid transparent;
	position: absolute;    
	left: 100%;
	top: 8px;
	border-left-color: #eee;
	border-width: 9px;
	margin-top: -1px;
}
CSS

По центру

.arrow {
	width: 300px;
	padding: 20px 10px;
	position: relative;
	background: #eee;
	border-radius: 3px;   
}
.arrow:before {
	content: ""; 
	border: solid transparent;
	position: absolute;    
	left: 100%;
	top: 50%;
	border-left-color: #eee;
	border-width: 9px;
	margin-top: -9px;
}
CSS

Снизу

.arrow {
	width: 300px;
	padding: 20px 10px;
	position: relative;
	background: #eee;
	border-radius: 3px;   
}
.arrow:before {
	content: ""; 
	border: solid transparent;
	position: absolute;    
	left: 100%;
	bottom: 8px;
	border-left-color: #eee;
	border-width: 9px;
	margin-bottom: -1px;
}
CSS
14.03.2019, обновлено 28.08.2019 1040
Предыдущая запись Фильтры Instagram на CSS
Следующая запись Блоки со стрелками (часть 2)

Поделится

Другие публикации

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