Есть несколько способов наложить текст поверх картинки в CSS. Вот два наиболее распространенных метода:
Способ 1: Использование свойства position
<div class="container">
<img src="img.jpg">
<div class="text">Текст на картинке</div>
</div>
.container {
position: relative; /* необходимо задать относительную позицию для контейнера */
}
.text {
position: absolute; /* абсолютное позиционирование элемента с текстом */
top: 50%; /* расположение текста от верхнего края блока */
left: 50%; /* расположение текста от левого края блока */
transform: translate(-50%, -50%); /* переносим текст назад на половину его размера */
color: white; /* цвет текста */
font-size: 24px; /* размер шрифта */
font-weight: bold; /* жирный шрифт */
}
Способ 2: Использование свойства background и класса с позиционированием
<div class="container">
<div class="text">Текст на картинке</div>
</div>
.container {
background: url(img.jpg); /* задание картинки как бэкграунда контейнера */
background-size: cover; /* автоматическое масштабирование картинки по размеру контейнера */
height: 500px; /* задание высоты контейнера */
position: relative; /* необходимо задать относительную позицию для контейнера */
}
.text {
position: absolute; /* абсолютное позиционирование элемента с текстом */
top: 50%; /* расположение текста от верхнего края блока */
left: 50%; /* расположение текста от левого края блока */
transform: translate(-50%, -50%); /* переносим текст назад на половину его размера */
color: white; /* цвет текста */
font-size: 24px; /* размер шрифта */
font-weight: bold; /* жирный шрифт */
}
Здесь контейнером является элемент div с классом .container, который содержит img или использует background, чтобы задать картинку. После этого создается элемент div с классом .text и рассматривается один из двух предложенных способов для наложения текста поверх картинки.