uniapp scroll-view 为什么会给挤压宽度?
<template> <view class="content">
<div class="title">课程筛选</div>
<div class="slider_box">
<!-- <text class="section_title">部位</text> -->
<scroll-view :scroll-x="true" class="scroll_view" :show-scrollbar="false">
<view class="scroll_content">
<div class="scroll_view_item" v-for="(item, index) in bodyArr">
<text >{{ item.value }}</text>
</div>
</view>
</scroll-view>
</div>
</view>
</template>
<script setup>
import {
ref
} from 'vue'
let selectIndex1 = ref(0)
let bodyArr = ref([{
value: '全身'
},
{
value: '臀部'
},
{
value: '手臂'
},
{
value: '腰部'
},
{
value: '胸部'
},
{
value: '全身'
},
{
value: '臀部'
},
{
value: '手臂'
},
{
value: '腰部'
},
{
value: '胸部'
},
{
value: '全身'
},
{
value: '臀部'
},
{
value: '手臂'
},
{
value: '腰部'
},
{
value: '胸部'
},
{
value: '全身'
},
{
value: '臀部'
},
{
value: '手臂'
},
{
value: '腰部'
},
{
value: '胸部'
}
])
let selectClick1 = index => {
selectIndex1.value = index
}
</script>
<style>
::-webkit-scrollbar {
display: none !important;
width: 0 !important;
height: 0 !important;
-webkit-appearance: none !important;
background: transparent !important;
color: transparent !important;
}
</style>
<style lang="scss" scoped>
.content {
padding-top: 23rpx;
padding-left: 27rpx;
padding-right: 29rpx;
.title {
font-size: 29rpx;
font-family: PingFang SC;
font-weight: 600;
color: #222222;
}
.slider_box {
box-sizing: border-box;
margin-top: 45rpx;
display: flex;
align-items: center;
justify-content: space-between;
.section_title {
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 500;
color: #212121;
margin-right: 81rpx;
white-space: nowrap;
}
.scroll_view {
white-space: nowrap;
.scroll_content {
display: flex;
align-items: center;
.scroll_view_item {
white-space: nowrap;
display: flex;
width: 107rpx;
height: 47rpx;
background: #FF5687;
border-radius: 23rpx;
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
margin-right: 52rpx;
align-items: center;
justify-content: center;
}
}
}
}
}
</style>
效果图
实际效果
回答:
因为用了flex布局
scroll_content加white-space: nowrap;去掉flex布局
scroll_view_item 加display:inline-block
回答:
因为你的<view class="scroll_content" />
使用了display: flex;
display: flex;
默认是不换行的,所以所有元素会直接挤压在一行。
解决:
把.scroll_content
样式里面的display: flex
去掉;子元素.scroll_view_item
可以用display: inline-block
转成块级内联元素
以上是 uniapp scroll-view 为什么会给挤压宽度? 的全部内容, 来源链接: utcz.com/p/934635.html