Надеюсь, это поможет вам.
<div class="item" data-box-label="My label"></div>
.item {
width: 300px;
height: 150px;
background-color: black;
overflow: hidden;
position: relative;
}
.item::after {
width: 150px;
height: 30px;
background-color: green;
display: block;
text-align: center;
line-height: 30px;
color: white;
content: attr(data-box-label);
bottom: 13%;
right: -13%;
position: absolute;
transform: rotate(-45deg);
}
Основной div должен иметь overflow: hidden
(чтобы он не перекрывался) и position: relative
, поэтому внутри него находится элемент ::after
с position: absolute
.Возможно, вы захотите изменить height
и width
поля метки (элемент :: after), но не забудьте изменить свойства right
и bottom
, потому что он изменит свою позицию, когда выизменить его размер.
Существует также предварительный просмотр на codepen.io .
РЕДАКТИРОВАТЬ
Обновленная версия отлично работает (посмотрите в комментариях)