首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏XC's Blog 日常笔记

    自适应方案

    abbrlink: ‘0’ 引言:适配的痛点与破局之道 在数据可视化项目中,开发者常常面临这样的困境:同样的设计稿,在1920×1080屏幕上完美显示,到了3840×2160或1366×768的屏幕上却面目全非 今天,我将分享一种JS+CSS协同作战的自适应方案,它不仅解决了适配问题,还保持了代码的优雅与可维护性。 一、方案核心思想:视窗单位+动态计算 1.1 为什么选择vw/vh? 但在场景下,这些方案各有局限: rem:依赖根字体大小,复杂场景计算繁琐 百分比:依赖父元素,多层嵌套时难以维护 媒体查询:断点固定,无法实现连续自适应 vw/vh单位基于视窗尺寸,天生适合适配 运行时的灵活计算 3.1 核心工具类实现 // style-utils.js const DESIGN_WIDTH = 1920; const DESIGN_HEIGHT = 1080; /** * 自适应工具类 根据项目需求和团队习惯,灵活选择组合策略,才能打造出既美观又实用的应用。

    24310编辑于 2026-05-08
  • 来自专栏HT

    还在为分辨率困扰?图扑提供响应式(自适应)可视化

    前言 数据可视化在当下信息时代已经成为炙手可热的话题,而 B/S 化趋势,也使得许多大应用上在网页端出现,今天给大家分享一套不一样风格的页面,与传统深蓝色不同,这次采用了暗红色设计,搭配粉色及黄色 而 Hightopo 独特的自适应机制,也解决了需要针对分辨率设计的困扰,达到了可以一页用多的效果。 ? 今天我们就将使用 Hightopo(以下简称 HT )的 HT for Web 产品上的 web 组态跟大家介绍一下通过丰富的 2D 组态运用以及动画效果融合搭建的数据可视化系统。 二、响应式(自适应)布局 布局功能一直是数据可视化的重要功能点之一,舒适的布局界面,可以使人拥有焕然一新的感觉,拥有响应式(自适应)布局的话,可以兼顾各种比例大小下的屏幕,不会因为比例的变化而使得整体的排版错乱 布局功能不仅适用于的整体排版上,在三维场景数据可视化系统搭配的左右系统数据面板上,依然可以使用 2/3D 融合嵌套的形式完成,而在面板的排列上也可以使用 响应式(自适应)布局,可以将搭载的数据充分地显示出来

    1.1K40发布于 2020-07-10
  • 来自专栏森林消防安全知识

    还在为分辨率困扰?图扑提供响应式(自适应)可视化

    数据可视化在当下信息时代已经成为炙手可热的话题,而 B/S 化趋势,也使得许多大应用上在网页端出现,今天给大家分享一套不一样风格的页面,与传统深蓝色不同,这次采用了暗红色设计,搭配粉色及黄色,加入了一些工业元素 而 Hightopo 独特的自适应机制,也解决了需要针对分辨率设计的困扰,达到了可以一页用多的效果。 今天我们就将使用 Hightopo(以下简称 HT )的 HT for Web 产品上的 web 组态跟大家介绍一下通过丰富的 2D 组态运用以及动画效果融合搭建的数据可视化系统。 二、响应式(自适应)布局 布局功能一直是数据可视化的重要功能点之一,舒适的布局界面,可以使人拥有焕然一新的感觉,拥有响应式(自适应)布局的话,可以兼顾各种比例大小下的屏幕,不会因为比例的变化而使得整体的排版错乱 布局功能不仅适用于的整体排版上,在三维场景数据可视化系统搭配的左右系统数据面板上,依然可以使用 2/3D 融合嵌套的形式完成,而在面板的排列上也可以使用 响应式(自适应)布局,可以将搭载的数据充分地显示出来

    80810编辑于 2022-01-14
  • 来自专栏电光石火

    HTML自适应手机

    apple-mobile-web-app-status-bar-style" content="black" /> <style type="text/css">*{margin:0;padding:0; border:0;}</style> 特别要注意: 自适应屏幕以后

    3.6K80发布于 2018-01-12
  • 来自专栏电光石火

    HTML自适应手机

    apple-mobile-web-app-status-bar-style" content="black" /> <style type="text/css">*{margin:0;padding:0; border:0;}</style> 特别要注意: 自适应屏幕以后

    6.7K20发布于 2019-12-06
  • 来自专栏电光石火

    HTML自适应手机

    apple-mobile-web-app-status-bar-style" content="black" /> <style type="text/css">*{margin:0;padding:0; border:0;}</style> 特别要注意: 自适应屏幕以后

    3.7K50发布于 2018-01-18
  • 来自专栏供应链项目实践

    洞见供应链 | 设计适配多端的自适应数据(从 PC 到指挥中心

    本文将深入电商供应链场景,基于React+Node.js技术栈,详解如何设计一套从PC到指挥中心自适应数据方案,解决多端适配、性能优化与业务价值融合的痛点。 ,允许组件自由拖拽缩放(配合后续编辑器)三、组件级自适应策略3.1图表组件自适应(以Recharts为例)3.1.1动态尺寸调整import{BarChart,Bar,XAxis,YAxis,Tooltip ,突出仓库网点分布的核心信息四、指挥中心专项优化4.1自适应架构图4.2关键技术方案4.2.1动态缩放引擎(ScaleTransform)import{useEffect,useRef}from'react ,平衡实时性与服务器压力六、完整业务流程图结语本文围绕供应链系统的多端自适应设计,从布局架构→组件实现→专项优化→后端支持→性能调优五个维度展开,详细讲解了:基于断点的三级响应式布局方案(PC/ 多端自适应不仅是技术问题,更是连接数据与决策的桥梁,最终目标是让每个角色都能在最舒适的体验中获取最有价值的信息。

    25610编辑于 2026-05-14
  • 来自专栏前端开发

    Vue3 自适应组件使用指南与封装方法

    Vue3 自适应组件使用指南与封装方法组件使用方法详解(一)基础集成步骤安装依赖 npm install screenfull chart.js # 可选,用于全屏和图表 # 或使用yarn app.mount('#app');在组件中使用 <template>

    数据监控 /HeavyComponent.vue'), loadingComponent: LoadingSpinner, delay: 200});// 在中使用<HeavyComponent v-if render-end'); performance.measure('render', 'render-start', 'render-end');};总结通过本文提供的方法,你可以在Vue3项目中高效地实现和封装自适应组件 关键要点包括:基础使用:通过简单配置即可实现自适应组件封装:创建可复用的自适应卡片、图表和布局组件性能优化:实现虚拟列表、按需加载和懒加载高级特性:添加全屏功能、地图组件适配测试与监控:使用工具测试不同分辨率下的显示效果这个方案适用于各类展示系统

    1.2K10编辑于 2025-05-25
  • 来自专栏前端开发

    Vue3 自适应代码封装实现方法与实战技巧

    Vue3 自适应代码封装实现方案 一、自适应技术概述 (一)应用场景与挑战 场景:数据可视化、监控中心、展厅展示系统 挑战: 多设备分辨率适配 元素布局比例协调 文字大小与图标适配 性能优化 灵活布局 需大量媒体查询 布局较固定的项目 容器缩放 整体等比缩放 需处理边界溢出问题 展示系统 }); observer.observe({ entryTypes: ['frame', 'longtask'] }); }; 八、总结 通过本文提供的方案,你可以在Vue3项目中实现高效的自适应功能 性能优化:使用节流、按需加载等技术提升性能 这个方案适用于各类展示系统,如数据可视化平台、监控中心等。 Vue3, 自适应,代码封装,实战技巧,响应式布局,适配方案,屏幕适配,组件封装,JavaScript, 前端开发,自适应布局,可视化,动态缩放,媒体查询,CSS3

    1.4K10编辑于 2025-05-25
  • 另一种简单粗暴的自适应方案,原理及案例

    现状 现在最流行的自适应手法: scale缩放 为了解决2d/3d的点击交互问题,通常设计成了2个层容器。图表层和2d/3d层。 图表层负责缩放,2d/3d层保持100%显示,避免缩放引起的交互事件event问题。 下图是一个1920*1080的示意图 使用常规的缩放方法,让在窗口内最大化显示。 在不同的窗口中出现了空白区域,并没有充满整个屏幕。 新的方法  在缩放的基础上,对指定的要素进行贴边处理。我们希望上下吸附到窗口最上面和最下面。左右图表吸附到窗口的最左边和最右边。 = (window.innerWidth- (1920*a.scaleX))/2/a.scaleX; 对指定id的容器,在resize事件中设置上下左右浮动。 在实际应用中,一般1920*1080设计稿已宽为主,如果是竖(下图6),需要设计竖UI。

    47910编辑于 2024-12-05
  • 来自专栏前端开发

    Vue 项目中基于 rem 布局的解析及场景自适应技术实现方案

    /utils/rem'; // 假设设计稿宽度为1920px initRem(1920);三、自适应方案(一)结合rem与viewport配置viewport<meta name="viewport title { font-size: 1.25rem; /* 相当于设计稿中的20px */ margin-bottom: 0.75rem; /* 相当于设计稿中的15px */}</style>(二)<em>大</em><em>屏</em>布局实现 -- <em>大</em><em>屏</em>布局示例 --><template> <div class="dashboard">

    ; performance.measure('render', 'render-start', 'render-end');};八、总结通过本文提供的方案,你可以在Vue项目中高效地实现rem布局与自适应 Vue,rem 布局,自适应,响应式设计,前端开发,移动端适配,屏幕适配,自适应布局,弹性布局,媒体查询,vw vh,JavaScript,CSS3,UI 框架,可视化

    1.4K10编辑于 2025-05-26
  • 来自专栏XC's Blog 日常笔记

    前端方案

    abbrlink: ‘0’ 方案 一句话总结 适合场景 不适合场景 scale 整体等比缩放,简单粗暴 比例固定的展示型 超宽/非标比例/有交互 vw/vh 视口单位,真正的流式适配 需要铺满全屏的响应式2:鼠标坐标偏移。 scale 缩放后,DOM 元素的实际位置和视觉位置不一致。如果上有 tooltip、弹窗、拖拽等交互,鼠标位置会对不上。 坑 2:极端比例下内容挤压。 如果屏幕是 1080×1920(竖),用 vw 计算出的宽度值会变得很小,内容会严重挤压。需要加最小宽度兜底。 坑 3:开发体验一般。 } } } 我的看法 说实话,rem 方案在场景下有点过度设计。 Q:需要适配移动端吗? A:一般不需要。就是,手机打开看的场景极少。如果甲方非要,建议做两套页面,用媒体查询切换,而不是一套代码适配所有。 总结 适配没有银弹。

    22810编辑于 2026-05-08
  • Vue 项目中基于 rem 布局的解析及设备自适应技术解决方案

    /utils/rem'; // 假设设计稿宽度为1920px initRem(1920); 三、自适应方案 (一)结合rem与viewport 配置viewport <meta name="viewport font-size: 1.25rem; /* 相当于设计稿中的20px */ margin-bottom: 0.75rem; /* 相当于设计稿中的15px */ } </style> (二)<em>大</em><em>屏</em>布局实现 -- <em>大</em><em>屏</em>布局示例 --> <template> <div class="dashboard">

    performance.measure('render', 'render-start', 'render-end'); }; 八、总结 通过本文提供的方案,你可以在Vue项目中高效地实现rem布局与自适应 实现px到rem的自动转换 动态根字体:根据屏幕宽度动态设置根字体大小 混合布局策略:结合flex、grid与rem实现复杂布局 性能优化:使用节流、虚拟滚动等技术提升性能 这种方案特别适合数据可视化

    64410编辑于 2025-09-03
  • 来自专栏樯橹代码

    公司开发心得

    开发心得 布局篇 因为不是对外开放的,所以可以使用固定的浏览器。既然这样其实是可以使用一些相对比较新的技术的。所以在布局这块我优先选择使用flexbox技术。 因为屏幕很大,设计师给出的设计图通常会有很大的尺寸。其实设计师并不知道的是屏幕在再大,也不过就是一个显示的尺寸。其实那这块需要的就是一个等比缩放。 所以在布局之前需要首先设置的是外框尺寸 html, body { height: 100%; } 首先要把要把这种尺寸的差异解决,这就体现出来flexbox的优势了。 模糊的问题 一般都是多块屏幕拼凑起来的一整块。设计稿给的一个页面。开始的时候我们是按照一个页面进行开发的。但是投到一个的时候问题来了,因为放的很大,锯齿很严重。 所以后来还是把分开了,设计稿的每个部分拆成一个页面,每个小屏幕显示一个页面。这样子锯齿情况就减轻很多。 还解决了一个问题,就是整个屏幕的时候,字体太大。

    1.8K20发布于 2019-09-02
  • 来自专栏樯橹代码

    数据显示优化

    数据显示优化 数据的页面里面包含了一些3D地图和世界航班趋势图,反应上来有个问题,就是动画比较卡顿。 原因无外乎两个: 1、电脑配置比较低 2、页面计算量较大 针对第二点的优化方案如下 jquery动画去除 图形渐变使用了jquery动画,其中还会夹杂一些Dom操作。 而像素很低,高清的图片也显示的像素点很大,看起来非常模糊,所以并没有必要使用高清的。把图片质量降低一些,切换卡顿就不见了,显示却并没有特别的变化。

    5.2K20发布于 2019-09-02
  • AI辅助开发案例详解:基于smardaten开发港口作业分析

    二、介绍港口作业分析旨在实现港口核心运营数据的全景可视化、实时监测与智能交互,主要包括以下核心模块:告警信息中心:实时呈现港口异常事件,支持一键穿透处理;船舶状态监测:通过表格与进度条直观展示船舶作业进度与吨位分布 通过多种图表组合、个性化样式设计与灵活的交互配置,实现了数据的高效传达与操作闭环。 三、搭建步骤通过smardaten构建港口作业分析,仅需以下四个核心步骤:框架生成:利用AI指令快速生成大布局、图表与样式;样式优化:根据业务需求删减非必要指标,补充缺失模块并美化样式;组件配置与绑定 四、设计4.1、AI生成大进入应用设计界面,唤起右下角的AI助手,输入生成指令:“生成一个管理港口作业的,包含货物吞吐量、船舶调度、泊位利用率等多个模块指标”输入生成指令后,系统便会根据业务场景 六、体验总结通过对港口作业分析的完整搭建,我们充分体验到smardaten平台在数据可视化开发中的显著优势:AI助力,高效起步:通过自然语言指令快速生成专业大框架,大幅降低初始设计成本,实现分钟级原型搭建

    90110编辑于 2025-11-14
  • 来自专栏前端Q

    原生 canvas 如何实现?

    前言 可视化该如何做?有可能一天完成吗?废话不多说,直接看效果,线上 Demo 地址 lxfu1.github.io/large-scree…。 如何用 canvas 绘制各种图表,如何实现 canvas 动画 如何自动化部署自己的网站 实现 项目基于 Create React App --template typescript搭建,包管理工具使用的 缺点:兼容性,基于 proxy 开发,对低版本浏览器不友好,当然,应该也不会考虑 IE 这类浏览器。 当然,在这个项目中函数缓存比较鸡肋,为了用而用,试想,如果有一个函数计算量非常,组件内又有多个 state 频繁更新,怎么确保函数不被重复调用呢? 3); const res2 = cacheFn(1, 2, 3); expect(res1).toBe(res2); expect(primitivefn).toBeCalledTimes

    85820编辑于 2023-08-23
  • 来自专栏数据魔术师

    代码 | 自适应邻域搜索系列之(2) - ALNS算法主逻辑结构解析

    The current solution. 2 ISolution* currentSolution; 3 4 //! Constructor. 2 //! \param name the name of the instance. 3 //! 1 void ALNS::performOneIteration() 2 { 3 //重新初始化一些状态量。 1 bool ALNS::transitionCurrentSolution(ISolution* newSol) 2 { 3 //如果接受。 并且……后面还有一波代码有得大家酸爽。 不过还是先把碗里的吃完吧~咱们下期代码再见!

    1K10发布于 2019-10-18
  • 来自专栏Python可视化

    【可视化】用Python开发智慧城市数据分析

    这是我独立开发的Python可视化,看下演示效果: ,时长01:15 这个大,是通过pyecharts可视化开发框架实现。 下面详细介绍,这个大的实现过程。 _临时.html') print('生成完毕:_临时.html') 至此,临时文件已经生成。 下面就开始手动拖拽,拖拽的过程,就不文字阐述了,可点击这个视频,观看拖拽过程: ,时长01:21 2.9 生成最终 很关键!! 除了常规的拖拽组合操作外,还记得2.7章节留下的疑问吗? </script>', video_new, text, flags=re.DOTALL) with open('_临时2.html', 'w', encoding='utf8') as f: f.write (text2) print('已写入:_临时2.html') 最后,再执行常规生成最终的代码: Page.save_resize_html( source="_临时2.html", #

    52310编辑于 2025-07-14
  • 来自专栏程序猿声

    代码 | 自适应邻域搜索系列之(2) - ALNS算法主逻辑结构解析

    并且……后面还有一波代码有得大家酸爽。 不过还是先把碗里的吃完吧~咱们下期代码再见!

    1.4K51发布于 2019-05-14
领券