iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vue如何实现两列水平时间轴
  • 635
分享到

vue如何实现两列水平时间轴

2023-06-25 12:06:04 635人浏览 安东尼
摘要

这篇文章给大家分享的是有关Vue如何实现两列水平时间轴的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:先上图,主要实现两列水平时间轴,查看了很多人实现的,水平只有一列,并且elementUI的时间轴只有竖

这篇文章给大家分享的是有关Vue如何实现两列水平时间轴的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

具体如下:

vue如何实现两列水平时间轴

先上图,主要实现两列水平时间轴,查看了很多人实现的,水平只有一列,并且elementUI的时间轴只有竖着的,不支持横向,最后只能含泪自己实现了,没想到还可以,只是如果数据很多翻页还没实现,有实现过这种的掘友可以艾特我一下。

一、实现组件timelineH.vue

timelineH.vue中的H代表横,起名字烦恼,哈哈。

<template>    <ul class="timelineHengBox">        <li class="timelineHengitem" v-for="(item,index) in timelineList" :key="index"             :>            <div class="timeline_dot" :></div>            <div class="timeline_dot" v-show="index == timelineList.length - 2" ></div>            <div class="timeline_wapper flex" :class="{'mt20': index % 2 != 0}">                <img src="../../static/img/excelIcon.png" class="bjIcon" :>                <div>{{item.content}}</div>            </div>            <div class="timelineDate_bottom" :>{{item.dateTime}}</div>        </li>    </ul></template><script>    export default {        name: 'timelineH',        props: {            timelineList: {                type: Array,                default: []            }        },        data () {            return {                liWidth: 496,//整个li的宽度,要和下面的li样式统一                liHalf: 248,//这里是li一半的宽度,使中间横线上的点可以找到准确的位置            }        }    }</script><style scoped>    .timelineHengBox {        color: #fff;        margin: 0;        padding: 0 26px;        width: 92%;        padding-top: 18px;        padding-bottom: 10px;        margin-left: 26px;        height: 87px;        border-bottom: 3px solid #FEFEFE;    }    .timelineHengItem {        list-style: none;        height: 97px;        width: 496px;        border-left: 1px solid #FEFEFE;        float: left;        border-bottom: 3px solid #FEFEFE;        position: relative;    }    .timelineHengItem:nth-child(2n) {        position: absolute;        left: 248px;        border-bottom: 0;        top: 115px;    }    .timeline_dot {        width: 10px;        height: 11px;        background: #FEFEFE;        position: absolute;        left: -5px;        top: 93px;    }    .timeline_dot:nth-child(2n) {        top: -7px;    }    .timeline_wapper {        width: 400px;        text-align: left;        font-size: 12px;        color: #FFFFFF;        line-height: 20px;    }    .mt20 {        margin-top: 20px;    }    .bjIcon {        width: 32px;        height: 32px;        margin: 31px 44px 0 42px;    }    .timelineDate_bottom {        width: 80px;        height: 20px;        position: absolute;        top: 103px;        left: -60px;        text-align: left;        font-size: 14px;        font-weight: bold;        color: #FFBA00;        margin-left: 77px;    }</style>

实现思路:

  • 竖线的实现,通过li设置左边框实现,这里主要是要吧每第二个li放到前一个li的中间去,所以要设置li整个宽度的一半用绝对定位left实现,距离顶部的距离也要计算好。

  • 每个时间点的方块通过绝对定位实现,需要注意的是上面列的节点和下面列的节点距离top是不一样的,所以我用了CSS的:nth-child(2n)实现每第二个li的top距离。

  • 最后就是日期节点文字,也是判断li的奇偶数设置不同的top值

  • 因为没有翻页功能,所以li的长度要做适配或者数据量多要把li的宽度减少,不然数据量多就很不好看,暂时没有优化,但是如果是适应笔记本电脑还是可以通过修改li的宽度和lihalf来实现。

二、调用组件

<div class="timelineHenGContainer">     <timelineH :timelineList='timelineList' /></div>

js

import timelineH from "@/components/timelineH.vue";components: {        timelineH},data() {    return {          timelineList: [                {                    dateTime: '2021-09',                    content: '欢迎挖矿,天天挖矿,得到矿石,哈哈哈,欢迎挖矿,天天挖矿,得到矿石,哈哈哈,欢迎挖矿,天天挖矿,得到矿石,哈哈哈,欢迎挖矿,天天挖矿,得到矿石,哈哈哈。'                },{                    dateTime: '2021-10',                    content: '冬天要注意保暖,太冷了呢,冬天要注意保暖,太冷了呢,冬天要注意保暖,太冷了呢,冬天要注意保暖,太冷了呢。'                },{                    dateTime: '2021-11',                    content: '更文挑战三十天正式开始啦,我想要投影仪,一直想买的。'                },{                    dateTime: '2021-12',                    content: '就要到月底啦,新的一年开始,新年快乐,新的一年开始,新年快乐,新的一年开始,新年快乐。'                }            ]    }}

css:

.timelineHengContainer {        width: 100%;        height: 227px;        background-image: url('../../static/img/timelineBg.png');        background-size: 100% 100%;        background-repeat: no-repeat;}

好啦,这就实现了水平两列的时间轴了,可以把代码复制下来直接用(使用CV大法吧~)。当时弄了两天,参考了elementui的纵向时间轴的画法,没有做出来,又用纯div和css实现也没有成功,主要是两列的竖线不知道该怎么画,还有节点,最后想起用li直接加个边框实现。

感谢各位的阅读!关于“vue如何实现两列水平时间轴”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: vue如何实现两列水平时间轴

本文链接: https://www.lsjlt.com/news/304564.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue如何实现两列水平时间轴
    这篇文章给大家分享的是有关vue如何实现两列水平时间轴的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:先上图,主要实现两列水平时间轴,查看了很多人实现的,水平只有一列,并且elementUI的时间轴只有竖...
    99+
    2023-06-25
  • vue实现两列水平时间轴的示例代码
    目录一、实现组件timelineH.vue 二、调用组件 本文主要介绍了vue实现两列水平时间轴的示例代码,分享给大家,具体如下: 先上图,主要实现两列水平时间轴,查看了很多人实现...
    99+
    2024-04-02
  • 微信小程序如何实现水平时间轴
    这篇文章主要介绍“微信小程序如何实现水平时间轴”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序如何实现水平时间轴”文章能帮助大家解决问题。wxml部分代码如下:<view c...
    99+
    2023-06-30
  • 微信小程序实现水平时间轴
    本文实例为大家分享了微信小程序实现水平时间轴的具体代码,供大家参考,具体内容如下 1、wxml部分代码如下: <view class="wehx-line-box">  ...
    99+
    2024-04-02
  • Vue实现时间轴功能
    本文实例为大家分享了Vue实现时间轴功能的具体代码,供大家参考,具体内容如下 <template>   <div class="container">    ...
    99+
    2024-04-02
  • Vue实现时间轴效果
    本文实例为大家分享了Vue实现时间轴效果的具体代码,供大家参考,具体内容如下 时间轴上的时间点数和描述文本均可自定义设置 效果图如下: ①创建时间轴组件Timeline.vue: ...
    99+
    2024-04-02
  • vue实现横向时间轴
    本文实例为大家分享了vue实现横向时间轴的具体代码,供大家参考,具体内容如下 1、效果图 2、代码实现  html <template>   <div ...
    99+
    2024-04-02
  • vue+swiper实现时间轴效果
    本文实例为大家分享了vue+swiper实现时间轴效果的具体代码,供大家参考,具体内容如下 效果: 首先引入,有淘宝镜像的用 cnpm install swiper --save ...
    99+
    2024-04-02
  • Vue如何实现简单的时间轴与时间进度条
    目录前言1、封装时间尺度组件2、在vue页面使用时间尺度 3、组件init方法内 通过起止时间算出中间的所有时间尺度 总结前言 项目需要按天播放地图等值...
    99+
    2024-04-02
  • VUE实现时间轴播放组件
    本文实例为大家分享了VUE实现时间轴播放组件的具体代码,供大家参考,具体内容如下 先上效果图吧 1、初始化的效果! 2、可以拖拽,鼠标放上显示时间 3、播放按钮后,正常播放 左右...
    99+
    2024-04-02
  • vue实现物流时间轴效果
    本文实例为大家分享了vue实现物流时间轴效果的具体代码,供大家参考,具体内容如下 son组件(物流时间轴组件) <template> <div class...
    99+
    2024-04-02
  • vue怎么实现横向时间轴
    这篇文章给大家分享的是有关vue怎么实现横向时间轴的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下1、效果图2、代码实现 html<template>  <...
    99+
    2023-06-29
  • Vue怎么实现时间轴功能
    这篇文章主要介绍了Vue怎么实现时间轴功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue怎么实现时间轴功能文章都会有所收获,下面我们一起来看看吧。<template>  &...
    99+
    2023-06-29
  • CSS3如何实现时间轴特效
    小编给大家分享一下CSS3如何实现时间轴特效,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近打开电脑就能看到极客学院什么新用户vip免费一个月,就进去看看咯,这...
    99+
    2023-06-08
  • 如何使用Jquery实现时间轴
    这篇文章将为大家详细讲解有关如何使用Jquery实现时间轴,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、纵向折叠时间轴1、js文件(jQuery.js或者jQuery...
    99+
    2024-04-02
  • css如何实现元素水平排列
    这篇文章将为大家详细讲解有关css如何实现元素水平排列,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。     第一种:display:inline-...
    99+
    2024-04-02
  • vue实现横向时间轴组件方式
    目录前言功能效果图代码前言 项目中有需要用到横向时间轴,网上大部分组件不满足 功能需要,于是自己写了一个。先上简单的demo。 功能 默认获取初始数据显示对应的时间轴和时间点。当超出...
    99+
    2022-12-08
    vue时间轴 横向时间轴组件 vue时间轴组件
  • JS如何实现时间轴自动播放
    这篇文章主要为大家展示了“JS如何实现时间轴自动播放”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS如何实现时间轴自动播放”这篇文章吧。最近实现了一个这样的效果,点击播放按钮,时间轴开始播放,...
    99+
    2023-06-20
  • 微信小程序如何实现时间轴
    这篇文章主要介绍了微信小程序如何实现时间轴的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序如何实现时间轴文章都会有所收获,下面我们一起来看看吧。一、显示样式二、代码 wxml:<view...
    99+
    2023-06-30
  • css如何实现多个容器按照相同间距水平排列
    这篇文章主要为大家展示了“css如何实现多个容器按照相同间距水平排列”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css如何实现多个容器按照相同间距水平排列”这...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作