当前位置:首页 » 《我的小黑屋》 » 正文

vue3前端实现全屏显示,元素垂直填满页面

1 人参与  2024年03月25日 15:55  分类 : 《我的小黑屋》  评论

点击全文阅读


1、 toggleFullscreen方法实现选定元素全屏展示

2、使用flex属性+ flex-direction 实现垂直布局填满整个页面

<template>  <div id="aaa" class="container">    <div class="header">      <el-button @click="toggleFullscreen">全屏</el-button>    </div>    <div class="content">      <div style="display: flex;height: 100%">        <el-table :data="countData" border style="width: 30%" height="88%">          <el-table-column label="线体" prop="prolineCode" align="center" min-width="120px" />          <el-table-column label="点检异常次数" prop="count" align="center" min-width="120px" />        </el-table>        <div id="bbb" style="width: 70%; height: 100%"></div>      </div>    </div>  </div></template><script>import { ref, onMounted, onUnmounted } from 'vue'import * as echarts from 'echarts'export default {  name: 'App',  setup() {    const countData = ref([])    onMounted(() => {      initChart()      // initChart1()    })    onUnmounted(() => {    })    const initChart = () => {      var chartDom = document.getElementById('bbb')      let myChart = echarts.getInstanceByDom(chartDom);      if (myChart) {        myChart.dispose();      }      myChart = echarts.init(chartDom);      var option = {        xAxis: {          type: 'category',          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']        },        yAxis: {          type: 'value'        },        series: [          {            data: [820, 932, 901, 934, 1290, 1330, 1320],            type: 'line',            smooth: true          }        ]      }      option && myChart.setOption(option)      window.addEventListener('resize', function () {        myChart.resize()      })    }    const initChart1 = () => {      var chartDom = document.getElementById('ccc')      let myChart = echarts.getInstanceByDom(chartDom);      if (myChart) {        myChart.dispose();      }      myChart = echarts.init(chartDom);      var option = {        xAxis: {          type: 'category',          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']        },        yAxis: {          type: 'value'        },        series: [          {            data: [820, 932, 901, 934, 1290, 1330, 1320],            type: 'line',            smooth: true          }        ]      }      option && myChart.setOption(option)      window.addEventListener('resize', function () {        myChart.resize()      })    }    const toggleFullscreen = () => {      const element = document.getElementById('aaa')      if (element) {        if (document.fullscreenElement) {          document.exitFullscreen();        } else {          element.requestFullscreen()            .catch(err => {              console.log('无法进入全屏模式:', err)            })        }      }    }    return {      countData,      toggleFullscreen    }  }}</script><style>body {  margin: 0;}/* 使用flex布局 */.container {  display: flex;  flex-direction: column;  height: 100vh;  /* 确保容器元素的高度与视口高度一致 */}/* 设置上部元素 */.header {  border: 1px solid green;  height: 100px;  /* 上部元素的高度 */  background-color: #ccc;  /* 上部元素的样式 */}/* 设置下部元素 */.content {  border: 1px solid yellow;  flex-grow: 1;  /* 下部元素占据父元素的剩余空间 */  background-color: #eee;  /* 下部元素的样式 */}</style>


点击全文阅读


本文链接:http://zhangshiyu.com/post/85357.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1