这里写自定义目录标题
Echarts的标题字体、样式自适应
在项目中引入Echarts
通过script标签引入
下载Echarts.js,通过官方的github或者使用CDN加速器的方式引入到自己的项目中。
<script src="./echarts.min.js"></script> //源码引入
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/echarts.common.js"></script> //bootcdn引入
通过npm安装enharts
npm install echarts --save
在项目中使用Echarts
创建容器
<div class="container" id="container"></div>
Echarts初始化
// 获取dom
let myEcart = echarts.init(document.getElementById("container"));
定义rem自适应方法
// 使用rem的思想实现图表字体等其他样式的自适应
function fontSize(px) { //传入字体大小
let clientWidth = window.innerWidth || document.body.clientWidth; //屏幕尺寸
if (!clientWidth) {
return 0;
}
let fontSize = clientWidth / 1920; //设计稿尺寸
return px * fontSize; //转换为 rem的布局返回出去
}
定义option
// 定义option
let option = {
title: {
text: "ECharts 入门示例",
textStyle: {
fontSize: fontSize(20), //使用rem自适应
},
top: "10%",
left: "50%",
},
tooltip: {},
xAxis: {
data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
axisLabel: {
fontSize: fontSize(16),//使用rem自适应
color:'#000'
},
},
yAxis: {},
series: [
{
name: "销量",
type: "bar",
data: [5, 20, 36, 10, 10, 20],
},
],
};
绘制图表
// 绘制图表
myEcart.setOption(option);
// 图表尺寸大小自适应
window.addEventListener("resize", () => {
myEcart.resize();
});
基础示例完整代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Echarts的基本示例</title>
<script src="./echarts.min.js"></script> //引入你的echarts文件
<style>
* {
padding: 0;
margin: 0;
}
html,
body,
.container {
width: 100%;
height: 100%;
overflow: hidden;
}
</style>
</head>
<body>
<div class="container" id="container"></div>
<script>
// 获取dom
let myEcart = echarts.init(document.getElementById("container"));
// 使用rem的思想实现图表字体等其他样式的自适应
function fontSize(px) {
let clientWidth = window.innerWidth || document.body.clientWidth; //屏幕尺寸
if (!clientWidth) {
return 0;
}
let fontSize = clientWidth / 1920; //设计稿尺寸
return px * fontSize;
}
// 定义option
let option = {
title: {
text: "ECharts 入门示例",
textStyle: {
fontSize: fontSize(20), //使用rem自适应
},
top: "10%",
left: "50%",
},
tooltip: {},
xAxis: {
data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
axisLabel: {
fontSize: fontSize(16), //使用rem自适应
color:'#000'
},
},
yAxis: {},
series: [
{
name: "销量",
type: "bar",
data: [5, 20, 36, 10, 10, 20],
},
],
};
// 绘制图表
myEcart.setOption(option);
// 图表尺寸大小自适应
window.addEventListener("resize", () => {
myEcart.resize();
});
</script>
</body>
</html>
示例效果
完成效果 1920px
完成效果 1000px
总结
定义fontSize方法,通过传入一个字体大小数值,单位为px,通过rem的思想将px转换为rem的单位,返回给调用的对象,实现字体、标题、样式的大小自适应。
一直在不断前进,如有问题,请各位看官指出,相互交流学习。
版权声明:本文为pizixian_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。