在拿到设计图后,通常会先通过设计图的布局来思考代码的设计,这也是开始着手写代码前必须要进行的一步,在项目中,我曾遇到,在一张大屏图开发到一半的时候介入,和另一个前端一起进行开发,结果由于她将整张图上的所有图表都放到一个vue文件里面,结果导致整个页面的代码数量级达到上千行,并且介入合作后,由于两人在一个文件里面进行开发,常常会导致提交代码时要合并冲突,经过这个教训后,在二期进行重构时,第一步就是对整个页面进行拆分,这样不仅能更好的分工合作,而且也利于后期代码的维护。(其实大多数开发人员都会这样做,写出来只是给自己提个醒)
1.划分页面 通常情况下,大屏图都是由一个一个的图表组成的,并且在考虑美观的情况下,UI设计师会把图设计成方方正正的模块,这里列举两个布局:
图1可划分为左中右,图2可划分为上中下,划分完之后,在根据具体的设计图再划分成更小的模块。
2.模块化开发
在划分完页面之后,对于具体的模块,应将其列成一个单独的vue页面来进行开发,然后将所有的模块都以组件的形式引入到index页面,形成最终的大屏页面。
1.使用flexible
对于PC端的屏幕适配,网上有很多解决方案,这里不展开赘述,感兴趣者可自行百度。我所采用的方式是阿里的flexible.js。具体方案如下
-
在本地以js文件的方式引入到大屏页面(在这里并未采用全局安装的方式,原因是在项目中,大屏页面仅是其中一部分,其他页面并不需要适配,因此,并未采用在main.js中引用的方式,同样,也不采用全局px转rem的方式,而是在引入页面单独使用rem)
-
打开flexible.js文件,设置1rem所对应的px数量,以设计稿1920px为例,将其等分成24等份,那么1rem = 80px
-
由于上述原因,需在大屏页面中,手动将用到的px以80px = 1rem的换算形式换算成rem,为避免每次都需手动计算rem的弊端,如果使用vs code进行开发时,推荐使用px2rem插件
在应用商店下载后,打开vs code的设置,搜索rootFontSize,将数值改成px转换成rem的数值(以上述为例,flexible.js中80px = 1rem,那么rootFontSize应设置成80),保存后重启,打开大屏页面,在中输入px会自动显示出经过换算后的rem
echarts使用
1.vue引入echarts
npm install echarts -S
// main.js
import echarts from 'echarts'
Vue.prototype.$echarts = echarts
// echarts.vue
<template>
<div id="myChart" :style="{width: '300px', height: '300px'}"></div>
</template>
<script>
methods:{
drawEcharts(){
let myChart = this.$echarts.init(document.getElementById('myChart'))
</script>
2.页面中引入
// echarts.vue<template> ... <div id="myChart" :style="{width: '300px', height: '300px'}"></div> ...</template><script> import echarts from 'echarts' ... methods:{ drawEcharts(){ let myChart = echarts.init(document.getElementById('myChart')) ... } }...</script>
注意:echarts的实例化对象需在mounted中实现,原因是要确保dom元素已经挂载到页面中
2.echarts使用
echarts的使用可到官网去查看相关参数,还可到echarts社区去查看相关示例,另外,推荐一下dataV,在这上面可以选一些好看的边框和图表,但是需要注意的是,dataV在低版本浏览器和IE上面并不兼容,在此次项目中又刚好需要兼容IE,因此,我采用的解决方案是:1.安装babel-polyfill npm install --save-dev babel-polyfill
2.引入babel-polyfill
//main.jsimport 'babel-polyfill'
//webpack.base.conf.js....{ test: /\.js$/, loader: 'babel-loader', include: [resolve('node_modules/@jiaminghi/data-view')]},...
//vue.config.js...transpileDependencies: [/[/\\]node_modules[/\\][@\\]jiaminghi[/\\]data-view[/\\]/]...
大屏可视化是我们在实际项目中经常会遇到的需求,但在做的时候,又需要花费很多心思,本文也仅是介绍一种设配方案,要真的完成一个可视化界面,还是得多花点心思,关注css细节,尽量还原设计图。
转自:https://juejin.cn/post/6940790455701356552
3个 Vue 可视化大屏案例展示(vue 2.0 & echarts)
以下是可视化大屏案例展示,如果你需要此案例源码,请关注“前端达人”公众号,回复“vue大屏”获取
用了vue - echarts - datav-elementul大屏数据可视化方案,包含屏幕适配方案等比例缩放,
等比例缩放的屏幕适配方法。可以让你不需要大量使用百分比或者转换之类的方法去写屏幕自适应大小,而是可以用部分px直接写css定死,通过屏幕大小改变对应等比例缩放,达到屏幕适配效果
为了让大家直观的看到所有的代码,所以结构方法等就不分各个组件引入了,会很麻烦要找哪是哪,我直接把所有的图都写在了一个vue组件内。并配上注释,相信大家可以很容易找到哪里对应哪里区域
引自 https://juejin.cn/post/7009081081760579591#heading-27 感谢!!!
前端大屏可视化项目适配方案1. 全局适配1.1 css scale 适配方案1.2 vw+vh适配方案(有些细节处采用媒体查询处理)1.2.1 按照设计稿的尺寸,将`px`按比例计算转为`vw`和`vh`1.2.2 借助scss函数实现计算1.2.3 动态DOM元素适配2. echats及第三方组件适配(配置型)
1. 全局适配
1.1 css scale 适配方案
注1:如果.
使用CSS与结合,放大整个屏幕@media:不同分辨率修改样式
zoom属性设置或检索对象的缩放比例,通俗的理解我们在body标签添加一个class标签,在使用媒体查询的方式去修改zoom的值,这样就达到了不同分辨率下不用再去针对性的修改样式
其他兼容问题
给zoom样式加了个判断浏览器,是谷歌就生效,不是就不生效.
然后也给火狐适配了一下.
将中间的框用个div包起来 然后将中间使用transform:scale()进行缩小,缩小到原来的0.8,然后左右距离边边各10%.
代码如下:
另外的自适应
相当于手动按F11的效果。经典的应用场景是制作可视化大屏或者全屏展示类的页面。因为现在写的是vue项目,所以稍后以vue为例子。注意一个点,样式设置为绝对定位之类的,意思是别让他占位置影响布局。第五步,生命周期中调用,达到一进入就自动全屏。第四步,页面的结构里面找个位置粘贴以下代码。附上一个设置返回功能的写法,以供参考。第二步,在你需要使用的页面中引入。第三步,复制下面的函数。...
链接: https://pan.baidu.com/s/1YNhg97sMVI3l3z0CHBi1_Q 提取码: 5v1b
其他样式效果说明
效果一,用图片或者用样式调整,如下为样式效果
css中样式
.lt_b, .lb_b, .rt_b, .rb_b {
position: absolute;
width: 25px;
height: 25px;
z-index: 10;
.lt_b {
borde
web 大数据可视化 使用的是echarts图表库,ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。
大数据展示
信息展示系统
订单信息展示
vue大数据可视化平台
一、项目描述
一个基于 Vue、Datav、Echart 框架的 " 数据大屏项目 ",通过 Vue 组件实现数据动态刷新渲染,内部图表可实现自由替换。部分图表使用 DataV 自带组件,可进行更改,详情请点击下方 DataV 文档。
项目需要全屏展示(按 F11)。
项目部分区域使用了全局注册方式,增加了打包体积,在实际运用中请使用 按需引入。
拉取项目之后,建议按照自己的功能区域重命名文件,现以简单的位置进行区分。
项目环境:Vue-cli-3.0、DataV-2.7.3、Echarts-4.6.0(如果5.x版本有问题,请切换到4.x版本)、Webpack-4.0、Npm-6.13、Node-v12.16。
要想移动端适配 并使用 rem 您需要先看这篇文章,配置好less :right_arrow_selector: 在vue 中使用 less,就可以使用rem了
如果项目已经开发的差不多了,没有用到rem 又要使用rem,您用这招。
postcss-pxtorem:转换px为rem的插件
安装 postcss-pxtorem
npm install postcss-pxtorem --save
新建rem.js文件
const baseSize = 32
// 设置 rem 函数
function setRem () {
// 当前页面宽度相对于 750 宽的缩放比例,可根据自己需要修改。
const scale =
🏫 校园网页设计 、学校班级网页制作、学校官网、小说书籍、等网站的设计与制作。🏷️HTML静态网页设计作业使用dreamweaver制作,采用DIV+CSS布局,共有多个页面,首页使用CSS排版比较丰富,色彩鲜明有活力。顶部导航及底部区域背景色为100%宽度,主体内容区域宽度🏅 一套优质的💯网页设计应该包含 (具体可根据个人要求而定)📔网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。📓网站程序方面:计划采用最新的网页编程语言HTML5+CSS3+JS程序语