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

前端可視化大屏適配/自適應(yīng)三種實現(xiàn)方式

這篇具有很好參考價值的文章主要介紹了前端可視化大屏適配/自適應(yīng)三種實現(xiàn)方式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

可視化大屏適配/自適應(yīng)現(xiàn)狀
三大常用方式

vw/vh方案
概述:按照設(shè)計稿的尺寸,將px按比例計算轉(zhuǎn)為vw和vh
優(yōu)點(diǎn):可以動態(tài)計算圖表的寬高,字體等,靈活性較高,當(dāng)屏幕比例跟 ui 稿不一致時,不會出現(xiàn)兩邊留白情況
缺點(diǎn):每個圖表都需要單獨(dú)做字體、間距、位移的適配,比較麻煩

scale方案
概述:也是目前效果最好的一個方案
優(yōu)點(diǎn):代碼量少,適配簡單 、一次處理后不需要在各個圖表中再去單獨(dú)適配.
缺點(diǎn):留白,據(jù)說有事件熱區(qū)偏移,但是我目前沒有發(fā)現(xiàn)有這個問題,即使是地圖也沒有

rem + vw vh方案
概述:這名字一聽就麻煩,具體方法為獲得 rem 的基準(zhǔn)值 ,動態(tài)的計算html根元素的font-size ,圖表中通過 vw vh 動態(tài)計算字體、間距、位移等
優(yōu)點(diǎn):布局的自適應(yīng)代碼量少,適配簡單
缺點(diǎn):留白,有時圖表需要單獨(dú)適配字體

clientHeight / scale 就等于我們需要的高度!
我們用代碼試一試

function keepFit(designWidth, designHeight, renderDom) {
  let clientHeight = document.documentElement.clientHeight;
  let clientWidth = document.documentElement.clientWidth;
  let scale = 1;
  if (clientWidth / clientHeight < designWidth / designHeight) {
    scale = (clientWidth / designWidth)
    document.querySelector(renderDom).style.height = `${clientHeight / scale}px`;
  } else {
    scale = (clientHeight / designHeight)
    document.querySelector(renderDom).style.width = `${clientWidth / scale}px`;
  }
  document.querySelector(renderDom).style.transform = `scale(${scale})`;
}

上面的代碼參數(shù)分別是:設(shè)計稿的寬高和你要適配的元素,在vue中可以直接傳#app。
下面的if判斷的是寬度固定還是高度固定,當(dāng)屏幕寬高比小于設(shè)計寬高比時,
我們把高度寫成 clientHeight / scale ,寬度也是同理。文章來源地址http://www.zghlxwxcb.cn/news/detail-558525.html

到了這里,關(guān)于前端可視化大屏適配/自適應(yīng)三種實現(xiàn)方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • vue大屏可視化自適應(yīng)完美方案

    在做大屏可視化項目的時候,一般設(shè)計稿會設(shè)計成1920*1080,但是頁面寫死1920*1080在2k、4k等分辨率的屏幕下是不適配的。如果頁面能夠根據(jù)屏幕比例進(jìn)行等比縮放那就好了。 什么?不知道屏幕比例?其實我們常見的1920*1080(1080P)、2k、4k...都是16:9的比例,在做項目之前我們

    2024年02月12日
    瀏覽(22)
  • ChatGPT 與前端技術(shù)實現(xiàn)制作大屏可視化

    ChatGPT 與前端技術(shù)實現(xiàn)制作大屏可視化

    像這樣的綜合案例實分析,我們可以提供案例,維度與指標(biāo)數(shù)據(jù),讓ChatGPT與AIGC 幫寫出完整代碼,并進(jìn)行一個2行2列的布局設(shè)置。 數(shù)據(jù)與指令如下: 商品名稱?? ?銷量?? ?目標(biāo)?? ?完成率 可樂?? ?479?? ?600?? ?79.83% 雪碧?? ?324?? ?600?? ?54.00% 紅茶?? ?379?? ?600??

    2024年02月11日
    瀏覽(28)
  • 數(shù)據(jù)可視化大屏的頁面布局以及自適應(yīng)

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

    在做數(shù)據(jù)可視化大屏之前,我們需要考慮到頁面的布局問題以及頁面縮放自適應(yīng)問題,下面分別就這兩個方面講解。 頁面布局 類似這種頁面區(qū)塊的明顯劃分,常用的布局方式有兩種: 1、 flex 布局 2、 grid 布局 grid布局 grid 布局可以按區(qū)塊來劃分頁面布局,并且可以在劃分布

    2024年02月05日
    瀏覽(18)
  • 可視化大屏的幾種適配方案

    對于可視化大屏項目而言,我們主要需要考慮下面兩個問題: ? ? ? ? 首先是div元素的適配,需要保持每個div元素在不同分辨率的屏幕下依然會顯示正常的比例,不會因為不同分辨率的屏幕而變得拉伸變形; ? ? ? ? 第二個要考慮的因素是字體,通常情況下我們會吧字體設(shè)

    2023年04月08日
    瀏覽(23)
  • 【vue2可視化開發(fā)】新手會遇到的問題——大屏自適應(yīng)

    【vue2可視化開發(fā)】新手會遇到的問題——大屏自適應(yīng)

    開發(fā)可視化大屏第一步,必須要考慮適配不同屏幕的問題,在網(wǎng)絡(luò)上查看資料,總結(jié)了一個目前最適合可視化開發(fā)的自適應(yīng)方案——v-scale-screen組件 1. 安裝 注:vue2使用v-scale-screen@1.0.0版本,vue3使用v-scale-screen@2.0.0版本 2. 在main.js中引用 3. 在vue組件中使用 v-scale-screen會將頁面等

    2023年04月21日
    瀏覽(34)
  • Vue3 +Echarts5 可視化大屏——屏幕適配

    Vue3 +Echarts5 可視化大屏——屏幕適配

    項目基于Vue3 + Echarts5 開發(fā),屏幕適配是使用 scale 方案 Echarts組件按需引入,減少打包體積 地圖組件封裝(全國省份地圖按需加載) 效果圖: 大屏適配常用的方案有 rem + vw/vh 和 scale 。 rem + vw/vh 方案 結(jié)合使用rem(相對于根元素字體大小的單位)和vw/vh(視窗寬度/高度的單位

    2024年02月15日
    瀏覽(25)
  • vue2+datav可視化數(shù)據(jù)大屏(3)附自適應(yīng)各分辨率的大屏框架git代碼。

    vue2+datav可視化數(shù)據(jù)大屏(3)附自適應(yīng)各分辨率的大屏框架git代碼。

    接上一節(jié)所說,當(dāng)我們將接口封裝完了后,我們需要給大屏進(jìn)行內(nèi)容填充啦 ? ? ? ???? 我們在ser-views文件夾下新建9個vue組件,如下圖所示,我給編號為1到9 ???????????在組件里寫入內(nèi)容我是第一塊...一次類推,一直到第九塊 ? ? ? ???? 在主容器中引入組件,并注冊

    2024年04月14日
    瀏覽(32)
  • 前端可視化數(shù)據(jù)大屏(1)

    前端可視化數(shù)據(jù)大屏(1)

    效果圖 技術(shù)架構(gòu):datav,vue2,echarts 我們一步一步的來實現(xiàn)一個簡單的可視化數(shù)據(jù)大屏,開始吧!! ? ? ? ? 太簡單了,百度上可以搜索,我這里就不多說了,把router裝好就行 ? ? ? ? 2.1在控制臺上輸入命令下載datav ? ? ? ? 2.2 將datav的組件注冊為全局組件 ? ? ? ? ? ? ?

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

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

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

    2023年04月09日
    瀏覽(31)
  • 【python可視化大屏】使用python實現(xiàn)可拖拽數(shù)據(jù)可視化大屏

    【python可視化大屏】使用python實現(xiàn)可拖拽數(shù)據(jù)可視化大屏

    我在前幾期分享了關(guān)于爬取weibo評論的爬蟲,同時也分享了如何去進(jìn)行數(shù)據(jù)可視化的操作。但是之前的可視化都是單獨(dú)的,沒有辦法在一個界面上展示的。這樣一來呢,大家在看的時候其實是很不方便的,就是沒有辦法一目了然的看到數(shù)據(jù)的規(guī)律。為了解決這個問題我使用p

    2024年02月03日
    瀏覽(34)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包