CSS треугольник: перед элементом
Я использую начальную загрузку, пытаясь сделать div с треугольником CSS перед ним.
Вот мой нерабочий код:
.d:before {
width: 0px;
height: 0px;
border-style: solid;
border-width: 10px 15px 10px 0;
border-color: transparent #dd4397 transparent transparent;
}
Я бы хотел, чтобы перед текстом "this" был розовый треугольник, указывающий влево, без зазора между ним и div. Я пытался сделать это, плавая элементы, но безуспешно.
4 ответа
Решение
Вам необходимо указать content
имущество.
Для позиционирования добавить position:relative
к родителю, а затем абсолютно поместите стрелку -15px
налево.
.d {
position:relative;
}
.d:before {
content:"\A";
border-style: solid;
border-width: 10px 15px 10px 0;
border-color: transparent #dd4397 transparent transparent;
position: absolute;
left: -15px;
}
Вам нужна собственность контента и некоторые другие
.d:before {
content: '';
width: 0px;
height: 0px;
border-style: solid;
border-width: 10px 15px 10px 0;
border-color: transparent #dd4397 transparent transparent;
display: inline-block;
vertical-align: middle;
margin-right: 5px;
}
Вы можете использовать геометрические фигуры UTF-8.
a:before {
content: '\25B2'
}
в вашем HTML нужна мета-кодировка:
<html>
<head>
<meta charset="utf-8" />
...
</head>
</html>
Список геометрических фигур:https://www.w3schools.com/charsets/ref_utf_geometric.asp
a:after {
content: '';
width: 0px;
height: 0px;
border-style: solid;
border-width: 15px 15px 0px 15px;
border-color: #fff transparent transparent transparent;
display: inline-block;
vertical-align: middle;
position: absolute;
bottom: -13px;
left: 0;
right: 0;
margin: 0 auto;
}