国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)可視化大屏的頁面布局以及自適應(yīng)

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)據(jù)可視化大屏的頁面布局以及自適應(yīng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在做數(shù)據(jù)可視化大屏之前,我們需要考慮到頁面的布局問題以及頁面縮放自適應(yīng)問題,下面分別就這兩個(gè)方面講解。

頁面布局

類似這種頁面區(qū)塊的明顯劃分,常用的布局方式有兩種:
1、flex布局
2、grid布局

grid布局
grid布局可以按區(qū)塊來劃分頁面布局,并且可以在劃分布局的基礎(chǔ)上配置區(qū)塊在頁面的占比大小。

關(guān)于grid的官方文檔說明:https://developer.mozilla.org/zh-CN/docs/Web/CSS/grid

grid屬性:

屬性 說明
grid-template-columns 配置y軸的區(qū)塊數(shù)量和占比
grid-template-rows 配置x軸的區(qū)塊數(shù)量和占比
grid-area 來配置區(qū)塊在x、y軸的占比大小。
grid-column-gap y軸的區(qū)塊間隙
grid-row-gap x軸的區(qū)塊間隙

我們可以使用網(wǎng)格布局實(shí)現(xiàn)如下效果:
數(shù)據(jù)可視化大屏的頁面布局以及自適應(yīng)
代碼如下:

<div class="container">
         <div class="embody">
               <div class="head-title"></div>
               <div class="chunk">
                  <div class="left-chunk">
                     <div class="left-top"></div>
                     <div class="left-center"></div>
                     <div class="left-bottom"></div>
                  </div>
                  <div class="center-chunk">
                    <div class="center-main"></div>
                    <div class="center-bottom"></div>
                  </div>
                  <div class="right-chunk">
                    <div class="right-top"></div>
                    <div class="right-center-top"></div>
                    <div class="right-center-bottom">
                        <div class="right-center-bottom-inner-left"></div>
                        <div class="right-center-bottom-inner-right"></div>
                    </div>
                    <div class="right-bottom"></div>
                  </div>
               </div>
         </div>
    </div>
.container{
    width: 100%;
    height: 100vh;
    background: #101129;
}

.embody{
    width: 100%;
    height: 100%;
    border: 1px solid red;
    .head-title{
        width: 100%;
        height: 80px;
        border: 1px solid cyan;
        background: url('../../assets/logo.png') no-repeat center / 100%;
    }
    .chunk{
        width: 100%;
        height: calc(100% - 80px);
        border: 1px solid gold;
        display: grid;
        grid: repeat(5,1fr) / repeat(7,1fr);  /* x / y */
        grid-column-gap : 10px;
        grid-row-gap : 0px;

        .left-chunk { grid-area :  1 / 1 / 6 / 3; border: 1px solid cyan;}
        .center-chunk {grid-area : 1 / 3 / 6 / 6; border: 1px solid red;}
        .right-chunk { grid-area : 1 / 6 / 6 / 8; border: 1px solid violet;}
    }

    .left-chunk{
        display: grid;
        grid: 1fr 4fr 3fr / repeat(1,1fr);
        grid-column-gap:0px;
        grid-row-gap:10px;
        .left-top{ border: 1px solid red;}
        .left-center{border: 1px solid red;}
        .left-bottom{border: 1px solid red;}

    }
    .center-chunk{
        display: grid;
        grid: 5fr 3fr / 1fr;
        grid-column-gap : 0px;
        grid-row-gap : 10px;
        .center-main{border: 1px solid red;}
        .center-bottom{border: 1px solid red;}
    }
    .right-chunk{
       display: grid;
       grid: 1 repeat(3,2fr) / 1fr;
       grid-column-gap:0px;
       grid-row-gap:10px;
       >div{border: 1px solid red;}

       .right-center-bottom{
        display: grid;
        grid: 1fr / repeat(2,1fr);
        grid-column-gap : 10px;
        grid-row-gap : 0px;
        >div{border:1px solid red;}
       }

    }
}

這種布局的優(yōu)點(diǎn)是可以根據(jù)頁面的縮放自動(dòng)調(diào)整大小,但需要注意的是,頁面的區(qū)塊內(nèi)的元素不會(huì)自動(dòng)縮放大小。
在使用grid網(wǎng)格布局時(shí),網(wǎng)格內(nèi)的元素也要使用相對(duì)大小?;蛘?,給網(wǎng)格外面嵌套一層大容器,將網(wǎng)格布局的大小固定住。

flex布局
flex布局就是利用flex的比例大小來給頁面進(jìn)行區(qū)塊劃分

flex的文檔說明:https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox

屬性說明:

屬性 說明
display:flex 開啟flex布局
flex:1 對(duì)應(yīng)區(qū)塊的占比大小
align-items 元素在交叉軸的對(duì)齊方式
justify-content 元素在x軸的排列方式
flex-wrap 是否允許元素?fù)Q行

我們可以使用flex布局實(shí)現(xiàn)如下效果:
數(shù)據(jù)可視化大屏的頁面布局以及自適應(yīng)
代碼如下:

<div class="embody">
     <!-- 視圖區(qū)域 -->
     <div class="chunk">
          <!-- 左側(cè)區(qū)域 -->
          <div class="left-chunk">
	          <div class="left-top"></div>
	          <div class="left-center"></div>
	          <div class="left-bottom"></div>
          </div>
          <!-- 中間區(qū)域 -->
          <div class="center-chunk"></div>
          <!-- 右側(cè)區(qū)域 -->
          <div class="right-chunk"></div>
     </div>
</div>
.embody{
    min-width: 1024px;
    max-width: 1920px;
    min-height: 780px;
    height: 100%;
    border: 1px solid red;
    padding: 0px 1rem 0px 1rem;
    flex-wrap: wrap-reverse;
    .chunk{
        width: calc(100% - 2rem);
        border: 1px solid gold;
        margin-top: -1.5rem;
        display: flex;
        margin: 0 auto;
        .left-chunk{flex: 3;}
        .center-chunk{flex: 4;}
        .right-chunk{flex: 3;}
    }

    .left-chunk{
        .left-top{ 
            height: 10rem;
            box-sizing:border-box;  
            border: 1px solid red
        }
        .left-center{
            box-sizing: border-box;  /* 去掉內(nèi)邊距和邊框的展位,全都計(jì)算在width中 */
            width: 100%;
            height: 40rem;
            margin-top: 1rem;
            border: 1px solid red;
        }
        .left-bottom{
            height: 20rem;
            margin-top: 1rem;
            border: 1px solid red;
        }

    }
    .center-chunk{
        border: 1px solid red;
        .center-main{border: 1px solid red;}
        .center-bottom{border: 1px solid red;}
    }
    .right-chunk{
       display: grid;
       grid: 1 repeat(3,2fr) / 1fr;
       grid-column-gap:0px;
       grid-row-gap:10px;
       border: 1px solid red;
       >div{border: 1px solid red;}

       .right-center-bottom{
        display: grid;
        grid: 1fr / repeat(2,1fr);
        grid-column-gap : 10px;
        grid-row-gap : 0px;
        >div{border:1px solid red;}
       }
    }
}

在這兩種布局方式上,優(yōu)先選擇flex布局,因?yàn)間rid布局會(huì)隨著頁面的縮放而自動(dòng)更改大小,這種大小的變化只是頁面劃分的區(qū)塊變化,在此基礎(chǔ)之上還要實(shí)際更改區(qū)塊內(nèi)容的大小縮放問題


頁面自適應(yīng)

由于頁面的窗口大小是不確定的,所以我們要使用相對(duì)單位來設(shè)置大小,css中有一個(gè)rem的概念,rem也就是根據(jù)根節(jié)點(diǎn)字體大小單位而來的相對(duì)單位,例如:根節(jié)點(diǎn)的字體大小為20px,那么1rem = 20px,基于rem,我們要根據(jù)窗口的大小來計(jì)算根節(jié)點(diǎn)的字體大小,具體的實(shí)現(xiàn)方式如下:

// 自調(diào)用
(function(){
    /* 頁面加載獲取頁面寬度 */
    let setFont = function () {
        // 因?yàn)橐x變量可能和別的變量沖突,造成污染,所以用自調(diào)用函數(shù)
        let html = document.documentElement; // 獲取html
        // 獲取html寬度
        let width = html.clientWidth;

        // 判斷,限制最小和最大寬度(這一步可省略)
        if(width < 1024) width = 1024
        if(width > 1920) width = 1920

        // 設(shè)置html的基準(zhǔn)值, 1920 / 80 = 24px也就是1rem=24px
        let fontSize = width / 153 + 'px'  // 那么這里屏幕大小1530px,1rem=10px
        
        // 設(shè)置給html
        html.style.fontSize = fontSize;
    }
    setFont(); // 調(diào)用

    /* 頁面改變的時(shí)候需要重新設(shè)置 */
    // 尺寸改變事件,window.onresize為當(dāng)瀏覽器重置大小的時(shí)候執(zhí)行的函數(shù)
    window.onresize = function () {
        setFont();
    }
})()

將該文件引入main文件即可。


如果覺得這篇文章對(duì)你有幫助,歡迎點(diǎn)贊、收藏、轉(zhuǎn)發(fā)哦~文章來源地址http://www.zghlxwxcb.cn/news/detail-448512.html

到了這里,關(guān)于數(shù)據(jù)可視化大屏的頁面布局以及自適應(yīng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【11個(gè)適合畢設(shè)的Python可視化大屏】用pyecharts開發(fā)拖拽式可視化數(shù)據(jù)大屏

    【11個(gè)適合畢設(shè)的Python可視化大屏】用pyecharts開發(fā)拖拽式可視化數(shù)據(jù)大屏

    你好,我是@馬哥python說,一枚10年程序猿。 以下是我近期用Python開發(fā)的原創(chuàng)可視化數(shù)據(jù)分析大屏,非常適合畢設(shè)用,下面逐一展示:(以下是截圖,實(shí)際上有動(dòng)態(tài)交互效果哦) 以下大屏均為@馬哥python說的個(gè)人原創(chuàng),請(qǐng)勿轉(zhuǎn)載。 以上大屏的開發(fā)技術(shù)流程如下: 1、爬蟲采用

    2024年02月03日
    瀏覽(39)
  • python基于大數(shù)據(jù)的手機(jī)分析系統(tǒng)與可視化 -可視化大屏分析

    python基于大數(shù)據(jù)的手機(jī)分析系統(tǒng)與可視化 -可視化大屏分析

    前言 該系統(tǒng)采用了多種數(shù)據(jù)源,包括用戶行為數(shù)據(jù)、社交數(shù)據(jù)、市場(chǎng)趨勢(shì)數(shù)據(jù)等,通過數(shù)據(jù)挖掘、統(tǒng)計(jì)分析等手段,對(duì)這些數(shù)據(jù)進(jìn)行分析和建模。其中,用戶行為數(shù)據(jù)包括用戶使用手機(jī)的頻率、時(shí)間、地理位置、應(yīng)用使用情況等,社交網(wǎng)絡(luò)數(shù)據(jù)包括用戶在交網(wǎng)絡(luò)上的行為、好

    2024年02月03日
    瀏覽(27)
  • 大數(shù)據(jù)畢設(shè) 大數(shù)據(jù)招聘崗位數(shù)據(jù)分析與可視化 - 爬蟲 python 大屏可視化

    大數(shù)據(jù)畢設(shè) 大數(shù)據(jù)招聘崗位數(shù)據(jù)分析與可視化 - 爬蟲 python 大屏可視化

    # 1 前言 ?? 這兩年開始畢業(yè)設(shè)計(jì)和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點(diǎn),往往達(dá)不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長(zhǎng)自己做的項(xiàng)目系統(tǒng)達(dá)不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長(zhǎng)分享優(yōu)質(zhì)畢業(yè)設(shè)計(jì)項(xiàng)

    2024年02月10日
    瀏覽(29)
  • 大數(shù)據(jù)可視化大屏電子沙盤合集

    大數(shù)據(jù)可視化大屏電子沙盤合集

    使用HTML、CSS、JavaScript,實(shí)現(xiàn)的可視化大數(shù)據(jù)電子沙盤 體驗(yàn)地址(請(qǐng)全屏查看): 智慧社區(qū):https://zhoukaiwen.com/proj/dataVIS/community 金融行業(yè):https://zhoukaiwen.com/proj/dataVIS/finance 智慧門店:https://zhoukaiwen.com/proj/dataVIS/store 項(xiàng)目說明 項(xiàng)目基于html/css/js,包含行業(yè): 智慧政務(wù) 智慧社

    2024年02月06日
    瀏覽(26)
  • 新冠疫情數(shù)據(jù)可視化分析大屏

    新冠疫情數(shù)據(jù)可視化分析大屏

    新冠疫情的爆發(fā)對(duì)全球造成了深遠(yuǎn)的影響,實(shí)時(shí)監(jiān)控和數(shù)據(jù)分析成為公共衛(wèi)生管理的重要組成部分。為了更好地追蹤疫情動(dòng)態(tài),本項(xiàng)目旨在開發(fā)一個(gè)集疫情數(shù)據(jù)采集、處理、分析與可視化于一體的大屏監(jiān)控系統(tǒng)。 本項(xiàng)目采用Python Django作為后端框架,Vue.js作為前端框架,結(jié)合

    2024年01月19日
    瀏覽(24)
  • springboot+echarts+mysql制作數(shù)據(jù)可視化大屏(滑動(dòng)大屏)

    springboot+echarts+mysql制作數(shù)據(jù)可視化大屏(滑動(dòng)大屏)

    ?作者水平低,如有錯(cuò)誤,懇請(qǐng)指正!謝謝?。。。?! 項(xiàng)目簡(jiǎn)單,適合大學(xué)生參考 分類專欄還有其它的可視化博客哦! 專欄地址:https://blog.csdn.net/qq_55906442/category_11906804.html?spm=1001.2014.3001.5482 目錄 ?一、數(shù)據(jù)源 二、所需工具 三、項(xiàng)目框架搭建 四、代碼編寫 溫度堆疊折線圖

    2024年02月11日
    瀏覽(27)
  • 基于Python的疫情數(shù)據(jù)可視化(matplotlib,pyecharts動(dòng)態(tài)地圖,大屏可視化)

    基于Python的疫情數(shù)據(jù)可視化(matplotlib,pyecharts動(dòng)態(tài)地圖,大屏可視化)

    有任何學(xué)習(xí)問題可以加我微信交流哦!bmt1014 1、項(xiàng)目需求分析 1.1背景 2020年,新冠肺炎疫情在全球范圍內(nèi)爆發(fā),給人們的健康和生命帶來了嚴(yán)重威脅,不同國家和地區(qū)的疫情形勢(shì)也引起了廣泛的關(guān)注。疫情數(shù)據(jù)的監(jiān)測(cè)和分析對(duì)疫情防控和科學(xué)防治至關(guān)重要。本報(bào)告以疫情數(shù)據(jù)

    2024年02月05日
    瀏覽(41)
  • 大屏數(shù)據(jù)可視化的設(shè)計(jì)流程及原則

    大屏數(shù)據(jù)可視化的設(shè)計(jì)流程及原則

    隨著數(shù)字經(jīng)濟(jì)的快速發(fā)展和信息化在各行業(yè)各領(lǐng)域的深入推進(jìn),可視化大屏在各行各業(yè)得到越來越廣泛的應(yīng)用??梢暬笃敛辉僦皇请娪袄锲婊玫漠嬅?,而是被實(shí)實(shí)在在地應(yīng)用在政府、商業(yè)、金融、制造、交通、城市等各個(gè)行業(yè)的業(yè)務(wù)場(chǎng)景中,切切實(shí)實(shí)地實(shí)現(xiàn)著大數(shù)據(jù)的價(jià)值

    2024年01月19日
    瀏覽(22)
  • 大數(shù)據(jù)前端可視化大屏--前端開發(fā)之路

    大數(shù)據(jù)前端可視化大屏--前端開發(fā)之路

    從2016年開始接觸可視化方向,一直想寫一篇文章回顧一下這幾年踩過的坑,接下來的這段時(shí)間里我會(huì)不定時(shí)的給大家分享一些可視化方面的經(jīng)驗(yàn)和感悟,發(fā)出來跟大家一塊分享一下、一起討論討論、共同學(xué)習(xí)進(jìn)步。 這篇文章作為開端,之后會(huì)不定時(shí)的發(fā)出一系列的采坑記錄

    2023年04月09日
    瀏覽(31)
  • Python數(shù)據(jù)可視化大屏最全教程(全)

    Python數(shù)據(jù)可視化大屏最全教程(全)

    閱讀本文大約需要3分鐘 主要內(nèi)容:數(shù)據(jù)分析。 適用人群:Python初學(xué)者,數(shù)據(jù)分析師,或有志從事數(shù)據(jù)分析工作的人員。 準(zhǔn)備軟件:Anaconda(Spyder:代碼編譯)、Navicat Premium 12(數(shù)據(jù)庫)。 從事IT項(xiàng)目管理這么多年,基本上已經(jīng)遺棄編程技能,但從2019年開始接觸Python,深深地

    2024年02月01日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包