uniapp 怎么写一个多张照片,但每张照片底下的文字不动的效果
时间: 2024-03-08 20:49:39 浏览: 51
你可以使用uniapp的flex布局来实现这个效果。具体实现步骤如下:
1. 首先,将每张照片和对应的文字放在一个父容器中,父容器使用flex布局,子元素使用flex-direction:column布局,这样每张照片和对应的文字就会在垂直方向上排列。
2. 然后,将每张照片和对应的文字再放在一个子容器中,子容器也使用flex布局,子元素使用flex-direction:row布局,这样每张照片和对应的文字就会在水平方向上排列。
3. 最后,设置每张照片的宽度和高度,使它们等比例缩放,并设置每个子容器的高度,使每个子容器的高度都相等,这样每张照片的底部就会对齐,文字也会保持不动。
下面是一个简单的示例代码:
```
<template>
<div class="container">
<div class="item">
<div class="image">
<img src="xxx.jpg" alt="">
</div>
<div class="text">
<p>这是第一张照片的描述</p>
</div>
</div>
<div class="item">
<div class="image">
<img src="xxx.jpg" alt="">
</div>
<div class="text">
<p>这是第二张照片的描述</p>
</div>
</div>
<div class="item">
<div class="image">
<img src="xxx.jpg" alt="">
</div>
<div class="text">
<p>这是第三张照片的描述</p>
</div>
</div>
</div>
</template>
<style>
.container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.item {
display: flex;
flex-direction: column;
height: 300px;
width: calc(33.33% - 10px);
}
.image {
flex: 1;
overflow: hidden;
}
.image img {
width: 100%;
height: 100%;
object-fit: cover;
}
.text {
height: 50px;
padding: 10px;
background-color: #fff;
}
</style>
```
你可以根据实际需求调整样式。
阅读全文