index.vue 1.72 KB
<template>
  <el-container class="main-container">
    <el-header height="60px" style="padding: 0;">
      <ui-header/>
    </el-header>
    <el-main>
      <el-container>
        <transition name="fade">
          <router-view></router-view>
        </transition>
      </el-container>
    </el-main>
  </el-container>
</template>

<script>
import uiHeader from "./UiHeader.vue";

export default {
  name: "index",
  components: {
    uiHeader
  },
}
</script>
<style>
body{
  font-family: sans-serif;
}
.main-container {
  height: 100%;
  display: flex;
  flex-direction: column;
}
/* --- 核心修改开始 --- */
.el-header {
  background-color: #001529; /* 根据你的导航栏颜色调整 */
  color: #333;
  line-height: 60px;
  padding: 0 !important;
  z-index: 1000;
}

.el-main {
  background-color: #f0f2f5;
  color: #333;
  text-align: left; /* 修正对齐 */
  padding: 0 !important; /* 【关键】去掉默认内边距,否则播放器无法铺满 */

  /* 【关键】使用 Flex 布局让子元素(router-view)撑满 */
  display: flex;
  flex-direction: column;
  flex: 1; /* 占据剩余高度 */
  overflow: hidden; /* 防止出现双滚动条 */
  height: 100%; /* 确保高度传递 */
}
/*定义标题栏*/
.page-header {
  background-color: #FFFFFF;
  margin-bottom: 1rem;
  padding: 0.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.page-title {
  font-weight: bold;
  text-align: left;
}

.page-header-btn {
  text-align: right;
}
</style>
<style scoped>
.fade-enter {
  visibility: hidden;
  opacity: 0;
}

.fade-leave-to {
  display: none;
}

.fade-enter-active,
.fade-leave-active {
  transition: opacity .5s ease;
}

.fade-enter-to,
.fade-leave {
  visibility: visible;
  opacity: 1;
}
</style>