#html #css
#HTML #css
Вопрос:
Мне пришлось изменить разрешение логотипа, чтобы по крайней мере можно было видеть логотип (формат 3400×1716) на 99×50 для перекрытия изображения и добавил текст с логотипом. Я установил для изображений, которые должны накладываться, высоту 300 и ширину 100%, чтобы заполнить остальную часть страницы, но это показано в моем коде. Конечным результатом будет то, что я смогу навести курсор на изображение / логотип, и появится текст.
Моя проблема в том, что я не вижу ни логотипа, ни текста, который должен накладываться на изображение.
Всего 12 картинок с 12 разными текстами, но с одним и тем же логотипом.
.portfolio-items-wrapper {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
.portfolio-item-wrapper {
position: relative;
}
.portfolio-img-background {
height: 300px;
width: 100%;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
.img-text-wrapper {
position: absolute;
top: 0;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 100%;
text-align: center;
padding-left: 100%;
padding-right: 100%;
}
<div class="content-wrapper">
<div class="portfolio-items-wrapper">
<div class="portfolio-item-wrapper">
<div class="portfolio-img-background" style="background- image:url(images/portfolio1.jpg)"></div>
<div class="img-text-wrapper">
<div class="logo-wrapper">
<img src="images/logos/thought.png">
</div>
<div class="subtitle">
Using a different approach than the NORM!
</div>
</div>
</div>
<div class="portfolio-item-wrapper">
<div class="portfolio-img-background" style="background- image:url(images/portfolio2.jpg)"></div>
<div class="img-text-wrapper">
<div class="logo-wrapper">
<img src="images/logos/thought.png">
</div>
<div class="subtitle">
Everything starts with a THOUGHT!
</div>
</div>
</div>
</div>
</div>
Ответ №1:
Вы можете использовать подход, который вы начали использовать, то есть установить фоновое изображение для вашего родительского элемента контейнера, а затем вы можете расположить текст и элементы логотипа с помощью flexbox.
img {
width:50px;height:50px;
}
div {
background-image:url('https://static-cse.canva.com/image/1578/RoyalBlue_Set1_23.5dfc6872.png');
background-size:contain;
background-repeat:no-repeat;
background-position:center center;
width:300px;height:300px;
display:flex;align-items:center;flex-direction:column;justify-content:center;
color:#FFF;font-size:36px;
}
<div>
<img src="https://assets.codepen.io/5200861/internal/avatars/users/default.png">
<h3>some text here</h3>
</div>