如何在纯CSS中制作折线图
![乔治·马尔索科斯](https://cms-assets.tutsplus.com/cdn-cgi/image/width=40/uploads/users/780/profiles/19309/profileImage/george-web-avatar-400x400.png)
我们在建设什么
什么是折线图?
![显示1800年至2010年圣彼得堡普希金镇人口的折线图,以不同的间隔进行测量](https://cms-assets.tutsplus.com/cdn-cgi/image/width=850/uploads/users/780/posts/108657/image-upload/Pushkin_population_history.jpg)
![显示1800年至2010年圣彼得堡普希金镇人口的折线图,以不同的间隔进行测量](https://cms-assets.tutsplus.com/cdn-cgi/image/width=630/uploads/users/780/posts/108657/image-upload/Pushkin_population_history.jpg)
![显示1800年至2010年圣彼得堡普希金镇人口的折线图,以不同的间隔进行测量](https://cms-assets.tutsplus.com/cdn-cgi/image/width=360/uploads/users/780/posts/108657/image-upload/Pushkin_population_history.jpg)
1 从数据开始
2 指定页面标记
第一个列表设置y轴范围。 如果您查看上面的表数据,您将看到第二列包含最多40个值。 记住这一点,我们将定义6个从0到50的值,步长为10。 因此,y轴的值将为0、10、20、30、40和50。 第二个列表设置x轴数据。 这些是从我们表格的第一列中提取的,从最低到最高。 还应考虑 开始 , 结束 、和 延迟 传递给列表项的CSS变量 。我们将使用它们创建数据点来构建直线。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
这个 开始 价值观将描述每年的员工数量。 y轴中的最大值为50,这意味着在百分比模式下为100%。 因此,对于代表40名员工,我们将使用此计算:(40/50)*100=>80%。 同样,对于30名员工,我们将使用以下公式:(30/50)*100=>60%,以此类推。 要连接数据点 结束 除了最后一个之外的所有列表项的值都应与 开始 下一个同级列表项的值。 也就是说 结束 第一个列表项的值将与 开始 第二个列表项的值 结束 第二个列表项的值将与 开始 第三个列表项的值等。 这个 延迟 值将设置图表动画序列。 该值越高,相关动画需要运行的时间越长。
三。 设置图表样式
![图表坐标轴](https://cms-assets.tutsplus.com/cdn-cgi/image/width=850/uploads/users/780/posts/108657/image-upload/chart.jpg)
![图表坐标轴](https://cms-assets.tutsplus.com/cdn-cgi/image/width=630/uploads/users/780/posts/108657/image-upload/chart.jpg)
![图表坐标轴](https://cms-assets.tutsplus.com/cdn-cgi/image/width=360/uploads/users/780/posts/108657/image-upload/chart.jpg)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
![使用CSS伪元素的图表样式](https://cms-assets.tutsplus.com/cdn-cgi/image/width=850/uploads/users/780/posts/108657/image-upload/single_line_chart.jpg)
![使用CSS伪元素的图表样式](https://cms-assets.tutsplus.com/cdn-cgi/image/width=630/uploads/users/780/posts/108657/image-upload/single_line_chart.jpg)
![使用CSS伪元素的图表样式](https://cms-assets.tutsplus.com/cdn-cgi/image/width=360/uploads/users/780/posts/108657/image-upload/single_line_chart.jpg)
线条动画
使用CSS(和一点JavaScript)构建网格到全屏幕的图像动画 乔治·马尔索科斯 2024年1月30日 使用CSS Clip-Path属性创建漂亮的滚动动画 乔治·马尔索科斯 2021年1月18日 如何在滚动中构建灰度到颜色的效果(CSS和JavaScript) 乔治·马尔索科斯 2020年5月19日 如何构建JavaScript页面加载动画 乔治·马尔索科斯 2023年3月22日 使用GSAP构建JavaScript页面加载动画 乔治·马尔索科斯 2021年4月22日
|
|
|
|
|
|
|
|
![第一个列表项的初始clip-path属性](https://cms-assets.tutsplus.com/cdn-cgi/image/width=850/uploads/users/780/posts/108657/image-upload/clippy_initial.jpg)
![第一个列表项的初始clip-path属性](https://cms-assets.tutsplus.com/cdn-cgi/image/width=630/uploads/users/780/posts/108657/image-upload/clippy_initial.jpg)
![第一个列表项的初始clip-path属性](https://cms-assets.tutsplus.com/cdn-cgi/image/width=360/uploads/users/780/posts/108657/image-upload/clippy_initial.jpg)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
![](https://cms-assets.tutsplus.com/cdn-cgi/image/width=850/uploads/users/780/posts/108657/image-upload/clip_browser.png)
![](https://cms-assets.tutsplus.com/cdn-cgi/image/width=630/uploads/users/780/posts/108657/image-upload/clip_browser.png)
![](https://cms-assets.tutsplus.com/cdn-cgi/image/width=360/uploads/users/780/posts/108657/image-upload/clip_browser.png)