Расположение текста в сетке CSS над изображением

У меня есть сетка CSS, где мне нужно разместить текст поверх изображения. Ниже показан код, который я использую без текста поверх изображения.

.sbp-item12 {
        grid-row: 6 / 7;
        grid-column: 9/13;
        height: 250px;
    }
<div class = "sbp-item12">
    <a href = "#">
       <h3>Here is a headline</h3>
       <figure>
          <img src = "https://placehold.it/380x250">
       </figure>
    </a>
 </div>

Я попытался добавить в код следующее, но тогда текст идет внизу моей страницы и не остается внутри элемента сетки. Кто-нибудь знает, как я могу разместить текст поверх изображения в моем элементе сетки?

.sbp-item12 {
    grid-row: 6 / 7;
    grid-column: 9/13;
    height: 250px;
}

.bottom-left {
    z-index: 100;
    position: absolute;
    color: white;
    font-size: 24px;
    font-weight: bold;
    left: 0;
    right: 0;
    bottom: 0;
}
<div class = "sbp-item12">
    <a href = "#">
        <div class = "text-bottm-left">
            <h3>Here is a headline</h3>
        </div>
        <figure>
            <img src = "https://placehold.it/380x250">
        </figure>
    </a>
</div>

@satyam-pathak Здесь речь идет о сетке CSS. Далеко не дубликат.

Stephan Weinhold 17.01.2021 17:28
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
3
1
5 387
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Вы просто ошиблись в своем коде, измените это class = "text-bottm-left" и добавьте class = "bottom-left" Надеюсь, это сработает.

<div class = "sbp-item12">
    <a href = "#">
        <div class = "bottom-left">
            <h3>Here is a headline</h3>
        </div>
        <figure>
            <img src = "https://placehold.it/380x250">
        </figure>
    </a>
</div>

Попробуй это:

.sbp-item12 {
  grid-row: 6 / 7;
  grid-column: 9/13;
  height: 250px;
}

div.img-post {
  position: relative;
}

h3.img-title { 
  position: absolute;
  z-index: 1;
  left:175px; 
}

img.img-body { 
  position: absolute
}
<div class = "sbp-item12 img-post">
    <a href = "#">
       <h3 class = "img-title">Here is a headline</h3>
       <figure>
          <img class = "img-body" src = "https://placehold.it/380x250">
       </figure>
    </a>
 </div>

Спасибо за комментарий. К сожалению, это не работает. Если я использую класс img, это повлияет на все остальные мои изображения. Я попытался выделить изображение в отдельный класс, чтобы избежать этого, но текст все еще не находится внутри изображения :-(

Mv27 04.07.2019 07:47

Я обновил код и добавил несколько классов, чтобы это не повлияло на другие изображения в вашем коде.

Maverick 04.07.2019 09:40
Ответ принят как подходящий

Вам нужно установить родителя position:relative и установить position:absolute для div, который вы хотите поместить в bottom-left.
Примечание. Ваши классы Html и css не совпадают. Вам нужно их исправить. Ниже приведен рабочий фрагмент

.sbp-item12 {
  grid-row: 6 / 7;
  grid-column: 9/13;
  height: 250px;
}

figure {
  margin: 0;
  position: relative
}

.bottom-left h3{
  z-index: 100;
  position: absolute;
  color: black;
  font-size: 24px;
  font-weight: bold;
  left: 0;
  bottom: 0;
  margin:0
}
<div class = "sbp-item12">
  <a href = "#">
    <figure>
      <img src = "https://placehold.it/380x250">
      <div class = "bottom-left">
        <h3>Here is a headline</h3>
      </div>
    </figure>
  </a>
</div>

Спасибо за ответ. Это похоже на что-то, спасибо. Затем я могу установить размещение текста с помощью top, right, bottom, right - это правильно?

Mv27 04.07.2019 07:51

Да, вы можете разместить текст в соответствии с вашими требованиями. Пожалуйста, примите ответ, если он вам помог. Удачного кодирования :)

Sai Manoj 04.07.2019 07:52

Попробуй это:

* {
  margin: 0;
  padding: 0;
}

.bottom-left {
  /* Insert your text styling here*/
  color: white;
  font-size: 24px;
  font-weight: bold;
}

.sbp-item12 {
  position: relative;
  display: inline-block;
  grid-row: 6 / 7;
  grid-column: 9/13;
  height: 250px;
}

.sbp-item12 .bottom-left {
  position: absolute;
  margin: 0 auto;
  left: 0;
  right: 0;
  bottom: 0;
  /* If text should be centered: */
  /* text-align: center; */
}
<div class = "sbp-item12">
  <a href = "#">
    <div class = "bottom-left">
      <h3>Here is a headline</h3>
    </div>
    <figure>
      <img src = "https://placehold.it/380x250" alt = "Here is a headline" />
    </figure>
  </a>
</div>

Вам нужно установить родительский div в относительное положение с помощью position: relative, а затем после установки текста в абсолютное положение с помощью position: absolute.

Вы используете другое свойство CSS, такое как левое, правое, верхнее, нижнее, чтобы установить тест в любом месте.

Другие вопросы по теме