我正在努力实现彼此相邻放置的6个图像(2行3个)的基本效果,并希望在它们上面添加一些文字。但问题是(我认为)在float = left"命令"在CSS中,它确实使我的图像很好地彼此相邻......但是我将所有文本都放在一个地方而不是恰当地放在适当的图像上。我已经坐了几天思考这个问题并且不知道该怎么做。希望你能帮忙。
CSS
.text {
position: absolute;
z-index: 100;
color: black;
width: 100%;
}
.image {
float: left;
clear: both;
padding: 2px;
position: relative;
}
HTML
<body>
<div class="row" style="width:1600px">
<div class="container">
<img class="image" src="Life.jpg" alt="Life" style="width:520px;height:360px;" />
<p class="text">Life</p>
</div>
<div class="container">
<img class="image" src="Trees are Cool.jpg" alt="Trees Are Cool" style="width:520px;height:360px;" />
<p class="text">Trees are Cool</p>
</div>
<div class="container">
<img class="image" src="Radical dinosaurs.jpg" alt="Radical Dino" style="width:520px;height:360px;" />
<p class="text">Radical Dinosaurs</p>
</div>
<div class="container">
<img class="image" src="Big Round Vuttons.jpg" alt="Big Round Buttons" style="width:520px;height:360px;"/>
<p class="text">Big Round Buttons</p>
</div>
<div class="container">
<img class="image" src="Run.jpg" alt="Run" style="width:520px;height:360px;"/>
<p class="text">Run</p>
</div>
<div class="container">
<img class="image" src="Thats crazy.jpg" alt="That's Crazy" style="width:520px;height:360px;"/>
<p class="text">That's Crazy</p>
</div>
</div>
</body>
答案 0 :(得分:1)
使用以下css,这将解决您的问题
.text {
position: absolute;
z-index: 100;
color: black;
width: 100%;
top: 0;
}
.container {
display: inline-block;
box-sizing: border-box;
padding: 2px;
position: relative;
}
答案 1 :(得分:0)
将position: relative
添加到.container类,因此它将是.text元素上下文。元素相对于上下文定位。
上下文是具有位置的最后一个父级:relative / absolute / fixed。现在上下文可能是一些更高级别的容器甚至是身体本身,因此所有.text项目都集中在那里。
答案 2 :(得分:0)
问题在于您将图像定位到相对位置。但是您的.text
默认为.container
的直接孩子.text
发现它的父级是相对位置但是.container
没有应用css属性位置相对于它找到.container
父级是位置相对的,依此类推,最后html是相对的位置,这就是为什么你的代码堆叠在彼此的顶部。
试试这个
.contailer{
position: relative;
}
答案 3 :(得分:0)
它与其他指出的元素的位置有关
.text {
position: absolute;
z-index: 100;
color: black;
width: 100%;
top: 50px;
left: 50px;
}
.image {
padding: 2px;
position: relative;
}
.container {
float:left;
}
答案 4 :(得分:0)
按如下方式给出'容器'类样式:
.container {
position: relative;
}
从“图片”类中删除float: left;
答案 5 :(得分:-1)
尝试删除position:absolute并将float:left添加到css文本类
.text {
float: left;
z-index: 100;
color: black;
width: 100%;
display: inline-block;
}