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

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

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

Слева

.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

Слева

.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

Сверху

.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

Сверху

.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, обновлено 30.07.2020
16297
Предыдущая запись Текст с градиентом
Следующая запись Блоки со стрелками (часть 2)

Комментарии

, чтобы добавить комментарий.

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

Input type number
В HTML5 появилось специальное поле input с атрибутом type=number для вода чисел. Рассмотрим его возможности...
19648
+4
Contenteditable – текстовый редактор
Если добавить атрибут contenteditable к элементу, его содержимое становится доступно для редактирования пользователю, а...
22065
+25
Мануал по созданию и форматированию excel файлов в PHPExcel
К сожалению разработчики прекратили поддержку и разработку проекта, но PHPExcel все равно остается популярной...
68574
+22
Видео c YouTube в качестве фона сайта
Пара примеров как сделать блок с адаптивным видео в качестве фона на основе видеоплеера HTML5, YouTube и JQuery.
8544
+1
Фон под текстом
С фоном у текста есть проблема – у элемента с display: inline при переносах текста не работают отступы (padding) по бокам. Исправить это можно следующими способами.
42419
+4
Печать HTML страниц
Очень часто разработчики забывают про печатную версию сайта, поэтому можно встретить такой результат на бумаге...
26898
+6