我有一个大div,显示:网格;,3行和2列。
我正试着在牢房里的照片后面添加一些文字。
我的代码如下所示:
<div class="arrange-fixes">
<div class="categories">
<div id="operating-systems"> </div>
<p>Operating system instalation and optimisation</p>
</div>
<div class="categories"></div>
<div class="categories"></div>
<div class="categories"></div>
<div class="categories"></div>
<div class="categories"></div>
</div>
.arrange-fixes{
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
min-height:800px;
width: 550px;
justify-items: center;
align-items: center;
}
.categories{
display: grid;
//background-color: lime;
width: 225px;
height: 162px;
border-radius: 15px;
border-width: 5px;
border-style: double;
border-color: #85c236;
box-shadow: inset 0px 0px 18px 8px rgb(198, 230, 156);
background-image: url("/images/fixes/windows.jpg");
background-position: center;
background-size: contain;
}
所以我希望这篇文章不要放在图片的顶部,而是放在我的div下面。
有谁知道我怎么做到的吗?
发布于 2022-04-03 17:37:34
请您添加.categories类a position:relative
和
.categories p{
position: absolute;
bottom:0;
right: 0;
}
.arrange-fixes{
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
min-height:800px;
width: 550px;
justify-items: center;
align-items: center;
}
.categories {
display: grid;
/* background-color: lime; */
width: 225px;
height: 162px;
position: relative;
border-radius: 15px;
border-width: 5px;
border-style: double;
border-color: #85c236;
box-shadow: inset 0px 0px 18px 8px rgb(198, 230, 156);
background-image: url("/images/fixes/windows.jpg");
background-position: center;
background-size: contain;
}
.categories p{
position: absolute;
bottom:-75px;
right: 0;
}
<div class="arrange-fixes">
<div class="categories">
<div id="operating-systems"></div>
<p>Operating system instalation and optimisation</p>
</div>
<div class="categories"></div>
<div class="categories"></div>
<div class="categories"></div>
<div class="categories"></div>
<div class="categories"></div>
</div>
也许这会对Flexbox有所帮助
*,
*::before,
*::after {
box-sizing: border-box;
}
html{
font-size: 62.5%;
}
body {
min-height: 100vh;
background-color: #999;
margin: 0;
}
.container{
max-width: 900px;
display: flex;
flex-direction: column;
margin: 0 auto;
justify-content: center;
align-items: center;
}
.box-1{
background-color: greenyellow;
width:100%;
height:20rem;
}
.box-2{
background-color: blueviolet;
width: 100%;
color:white;
font-size: 2rem;
text-align: end;
}
<div class="container">
<div class="box-1"></div>
<div class="box-2">
<p>Lorem ipsum dolor sit amet.</p>
</div>
</div>
发布于 2022-04-03 19:48:46
嗨,谢谢你清楚地解释你的问题,你只需要使用数字代码,它就像下面的代码一样。
.categories{
display: grid;
background-color: lime;
width: 150px;
height: 250px;
border-radius: 15px;
border-width: 5px;
border-style: double;
border-color: #85c236;
box-shadow: inset 0px 0px 18px 8px rgb(198, 230, 156);
background-image: url("/images/fixes/windows.jpg");
background-position: center;
background-size: contain;
}
figure img{
width: 100%;
}
figure{
text-align: center;
}
html:
<div id="operating-systems">
<figure>
<figcaption>Lorem ipsum, dolor sit amet consectetur adipisicing elit.</figcaption>
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/6/69/How_to_use_icon.svg/2214px-How_to_use_icon.svg.png" alt="">
</figure>
</div>
只需将图形标题放在img标签的顶部,它就永远不要忘记计算您的图像和div宽度和高度。
如果你想在你的div元素的全部背景中显示你的图像,你可以使用下面的代码
#operating-systems{
background: url(https://iconstore.co/assets/img/set/thumb/unoline-gallery.png);
background-position: bottom;
background-size: cover;
background-repeat: no-repeat;
background-clip: padding-box;
background-origin: content-box;
padding: 15px;
}
因此,在设置这个代码之后,您可以在div中使用p标记,并且您的文本将显示在顶部,我希望我可以帮助您:)
https://stackoverflow.com/questions/71728307
复制相似问题