在Element-UI中,el-col
组件的span
属性用于定义栅格布局中列的宽度,其最大值为24。如果你将span
值设置为超过24,Element-UI会自动将其换行显示。如果你希望强制在一行显示并使用滚动条,可以通过以下方式实现:
使用flex
布局:将el-row
设置为flex
布局,并通过white-space: nowrap
和overflow-x: auto
来实现水平滚动。
自定义样式:通过自定义样式来覆盖Element-UI的默认样式,确保el-col
不会换行。
<template>
<div class="container">
<el-row class="row" type="flex" :gutter="20">
<el-col :span="30" v-for="(item, index) in 10" :key="index" class="col">
<div class="grid-content bg-purple">
{{ index + 1 }}
</div>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
name: 'CustomGrid',
};
</script>
<style scoped>
.container {
width: 100%;
overflow-x: auto;
}
.row {
display: flex;
flex-wrap: nowrap;
white-space: nowrap;
}
.col {
flex: 0 0 auto;
width: auto; /* 或者根据需要设置固定宽度 */
}
.grid-content {
min-height: 100px;
background-color: #d3dce6;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
color: white;
}
</style>
container
:外层容器设置了overflow-x: auto
,当内容超出容器宽度时,会出现水平滚动条。row
:el-row
设置为flex
布局,并通过flex-wrap: nowrap
和white-space: nowrap
确保子元素不会换行。col
:el-col
设置为flex: 0 0 auto
,确保每个列不会自动调整宽度,保持固定宽度或根据内容自适应。el-col
的span
属性最大值为24,如果你需要更大的宽度,建议直接使用width
属性或通过CSS自定义宽度。通过这种方式,你可以实现el-col
组件在span
值超过24时强制在一行显示,并使用滚动条来查看超出部分的内容。