element-plus侧边栏折叠时,右边主内容区的子组件无法自动占满父容器
折叠之后:
会有白边产生。
白边:
主内容区容器为el-main
<template>
<el-container id="body">
<el-header class="header" style="background-color: rgb(100, 100, 100)">
<HeaderMain></HeaderMain>
</el-header>
<el-container>
<el-aside :width="Collapse ? '64px' : '180px'" style="background-color: rgb(100, 100, 100)">
<AsideMain></AsideMain>
</el-aside>
<el-container>
//主要内容区
** <el-main class="main" style="padding: 0px">
<router-view v-slot="{ Component }">
<component :is="Component" class="view" />
</router-view>
</el-main>**
<el-footer class="footer">
<StatusBar></StatusBar>
</el-footer>
</el-container>
</el-container>
</el-container>
</template>
<style scoped>
#body {
margin: 0;
padding: 0;
height: 100vh;
}
.header{
margin: 0;
padding: 0;
height: 7vh;
width: 100%;
}
//主要内容区样式
.main{
display: flex;
margin: 0;
padding: 0;
height: 90vh;
width: 100%;
}
<div>
<div id="cesiumContainer"></div>
<el-dialog
v-model="dialogShow"
draggable
:modal="false"
:close-on-click-modal="false"
class="pointer"
title="图层管理器"
>
//我想用cesiumContainer将主要内容区占满,剩余的主要是反馈组件,并不会有影响!
<style scoped>
#cesiumContainer {
flex: 1;
height: 100%;
width: 100%;
padding: 0px;
margin: 0px;
}
尝试
将width设置为101%,可以自动充满,但感觉这方法不正经,想看一下大佬们一般怎么解决的
#cesiumContainer {
flex: 1;
height: 100%;
width: 101%;
padding: 0px;
margin: 0px;
}
弹性很好解决啊,需要撑满的那部分容器flex: 1就行了