我想知道是否可以在适合对象的图像上使用居中的文字叠加(标题)。 AND对象位置:左上; (即不居中)
图像正在CSS网格中显示。 (显示:网格;)
我想做的事的例子:
.container {
height: 40vw;
width: 40vw;
border: 1px solid black;
display:grid;
}
img {
max-width: 100%;
max-height:100%;
height: 100%;
width: 100%;
object-fit: contain;
object-position: left top;
}
<div class="container">
<img src="https://ichef.bbci.co.uk/news/660/cpsprodpb/A825/production/_103954034_gettyimages-990971906.jpg">
</div>
提前谢谢!
答案 0 :(得分:1)
以下是众多解决方案之一:
在$data = (object)[
'id' => 5,
'name' => 'dddd ddd',
'description' => 'ddd',
];
array_push($tempArray->clients, $data);
上使用position: relative;
,然后在文本上使用.container
(在这里我使用position: absolute;
)来重新定位它,使用h3
。
HTML:
-10vh
CSS:
top
答案 1 :(得分:1)
object-fit
控制替换后的内容如何适合其容器。就布局和位置而言,您无权访问被替换的内容。一种在网格中获得所需效果的方法是添加一个新容器,根据容器值在图像上设置一些width
/ height
属性,然后相对于文本放置文本该图像,避免使用对象拟合。
.container {
align-items: start;
height: 40vw;
width: 40vw;
border: 1px solid black;
display:grid;
}
img {
display: block;
height: auto;
margin: 0 auto;
max-height: 40vw;
max-width: 40vw;
}
.textcontainer {
position: relative;
}
.textcontainer-x-text {
color: limegreen;
font-family: sans-serif;
font-weight: bold;
left: 50%;
position: absolute;
text-align: center;
text-transform: uppercase;
top: 50%;
transform: translate(-50%, -50%);
}
<p>Portrait</p>
<div class="container">
<div class="textcontainer">
<div class="textcontainer-x-text">Example Text Which Could Be Long</div>
<img src="http://placehold.it/150x400">
</div>
</div>
<p>Landscape</p>
<div class="container">
<div class="textcontainer">
<div class="textcontainer-x-text">Example Text Which Could Be Long</div>
<img src="http://placehold.it/300x150">
</div>
</div>
<p>Square</p>
<div class="container">
<div class="textcontainer">
<div class="textcontainer-x-text">Example Text Which Could Be Long</div>
<img src="http://placehold.it/300x300">
</div>
</div>