最近在学习uniapp,写了一段代码,需要实现公告中文字上下轮播的功能,公告中间的内容需要上下居中,并且溢出隐藏、显示省略号,平常使用disply:flex;就可以实现,但是使用弹性盒子后,文字可以上下居中并溢出隐藏,只是省略号不显示,研究了好久终于明白了,以下是解决方法:
这是需要实现的效果:
这是dom:
<view class="notice">
<view class="n_left">
<uni-icons type="sound-filled" size="20" color="rgb(37,180,137)"></uni-icons>
<text>公告</text>
</view>
<view class="n_center">
<swiper class="n_swiper" vertical autoplay circular :interval="1500" :duration="300">
<swiper-item class="n_item" v-for="(item, index) in 3">
公告公告公告公告公告公告公告公告公告公告公告公告公告公告
</swiper-item>
</swiper>
</view>
<view class="n_right">
<uni-icons type="right" size="16" color="rgb(191,191,191)"></uni-icons>
</view>
</view>
.notice{
width: 690rpx;
height: 80rpx;
margin: 30rpx auto;
line-height: 80rpx;
background-color: rgb(249,249,249);
border-radius: 80rpx;
display: flex;
}
这是最终解决问题的地方,只需要在父级dom上添加line-height就可以了,本身的dom上不需要额外添加弹性盒子了,直接就可以实现居中的效果。
希望这篇文章对你有帮助。很简单的一个问题,但是排查起来很麻烦!