Как сделать фон текста в виде фигуры

Подскажите как можно добиться такого фона для текста поверх изображения. введите сюда описание изображения

.content {
  overflow: hidden;
  position: relative;
  height: 200px;
  width: 500px
}

.content-text {
  position: absolute;
  width: 200px;
  left: 40px;
  top: 30px;
  background: rgba(255, 255, 255, 0.85);
}

content img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
<div class="content">
  <div class="content-text">
    <h1>Название </h1>
    <p>описание</p>
  </div>
  <img src="https://mirpozitiva.ru/wp-content/uploads/2019/11/1472042718_14.jpg" alt='' />
</div>


Ответы (2 шт):

Автор решения: Rudi

Можно что-то такое сделать..

.content {
  overflow: hidden;
  position: relative;
  height: 200px;
  width: 500px
}

.content-text .info {
  transform: skewX(-20deg);
}

.content-text {
  position: absolute;
  width: 200px;
  height: 100%;
  left: 30px;
  background: rgba(255, 255, 255, 0.85);
  transform: skewX(20deg);
  opacity: 0.5;
  text-align: center;
  z-index: 99;
  display: flex;
  justify-content: center;
  align-items: center;
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
<div class="content">
  <div class="content-text">
    <div class="info">
      <h1>Название </h1>
      <p>описание</p>
    </div>
  </div>
  <img src="https://mirpozitiva.ru/wp-content/uploads/2019/11/1472042718_14.jpg" alt='' />
</div>

→ Ссылка
Автор решения: De.Minov

Вариантов несколько:

Использовать linear-gradient

Мы используем картинку как фон, а так же поверх него добавляем градиент.
Минус такого использования заключается в том, что "полоска" не подстраивается под размер шрифта.

.image {
  display: block;
  width: 100%;
  background-image: 
    linear-gradient(75deg, 
      transparent 10%, rgba(255,255,255, .35) 10%,
      rgba(255,255,255, .35) 45%, transparent 45%
    ),
    url('//i.imgur.com/Y88UEAT.png');
  background-repeat: no-repeat;
  background-size: 100% 100%, cover;
  position: relative;
}

.image::before {
  content: '';
  display: block;
  width: 100%;
  height: 0;
  padding-top: 48.25%;
}

.image .text {
  display: inline-block;
  font-size: 200%;
  font-weight: bold;
  color: #2d498a;
  position: absolute;
  left: 15%;
  top: 50%;
  transform: translateY(-50%);
}
<div class="image">
  <div class="text">Some text</div>
</div>


Использовать skewX()

Для этого варианта используется трансформация, но данный способ будет трансформировать и дочернии элементы, так что их придётся трансформировать в "обратную сторону".

.image {
  display: block;
  width: 100%;
  background: url('//i.imgur.com/Y88UEAT.png') no-repeat center center / cover;
  position: relative;
}

.image::before {
  content: '';
  display: block;
  width: 100%;
  height: 0;
  padding-top: 48.25%;
}

.image .line {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  height: 100%;
  background-color: rgba(255,255,255, .35);
  padding: 0 10%;
  box-sizing: border-box;
  position: absolute;
  left: 5%;
  top: 0;
  transform: skew(20deg);
}

.image .line > * {
  transform: skew(-20deg);
}

.image .text {
  display: inline-block;
  font-size: 200%;
  font-weight: bold;
  color: #2d498a;
}
<div class="image">
  <div class="line">
    <div class="text">Some text</div>
  </div>
</div>

→ Ссылка