在外盒子<scroll-view>
使用white-space: nowrap
来禁止子盒子换行,需要将子盒子设置为行内块级元素display: inline-block
,这个方法无法设置子盒子之间的间距 margin
属性会失效
<!-- 内容区 -->
<scroll-view class="recommendScroll" scroll-x>
<view class="scollItem">
<image src="" alt=""></image>
<text></text>
</view>
<view class="scollItem">
<image src="" alt=""></image>
<text></text>
</view>
</scroll-view>
/* 推荐内容区 */
.recommendScroll {
white-space: nowrap;
margin: 20rpx 0;
}
.scollItem {
display: inline-block;
width: 200rpx;
height: 300rpx;
margin-right: 20rpx;/*无效*/
}
官方文档中介绍enable-flex
用于启用 flexbox 布局,开启后当前节点声明了 display: flex
就会成为 flex container。但是直接设置外盒子<scroll-view>
的样式为display无法到达预期效果,此时只需要在子盒子外层包裹一个view,在该view上设置display: flex
就可以了
<!-- 内容区 -->
<scroll-view class="recommendScroll" scroll-x enable-flex>
<view class="scrollview" >
<view class="scollItem">
<image src="" alt=""></image>
<text></text>
</view>
<view class="scollItem">
<image src="" alt=""></image>
<text></text>
</view>
</view>
</scroll-view>
/* 推荐内容区 */
.recommendScroll {
margin: 20rpx 0;
}
.scrollview {
display: flex;
}
.scollItem {
width: 200rpx;
height: 300rpx;
margin-right: 20rpx;/*有效*/
}