html页面直接使用elementui Plus时间线 + vue3

直接上效果图

案例源码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script src="../js/vue3.3.8/vue.global.js"></script>
  <link rel="stylesheet" href="../js/elementPlus/index.css">
  <script src="../js/elementPlus/index.full.js"></script>
  <script src="../js/elementPlus/icons-vue.js"></script>
</head>
<style>
  .processBox {
    background-color: #fff;
    height: 210px;
  }

  .timeline {
    display: flex;
    flex-direction: row;
    width: 95%;
    margin: auto 80px;
  }

  .lineitem {
    transform: translateX(50%);
    width: 25%;
  }

  .title {
    font-size: 16px;
    font-weight: 600;
    padding-left:32px;
    padding-top: 16px;
  }

  .el-timeline-item__tail {
    border-left: none;
    border-top: 2px solid #e4e7ed;
    width: 100%;
    position: absolute;
    top: 6px;
  }

  .el-timeline-item__wrapper {
    padding-left: 0;
    position: absolute;
    top: 20px;
    transform: translateX(-50%);
    text-align: center;
  }
  .active .el-timeline-item__node  {
   background-color: #409eff;
  }

  .active .el-timeline-item__tail {
    border-top: 2px solid #409eff !important;
  }

</style>
<body>
<div id="app">
  <div class="processBox">
    <div class="title">工程进度</div>
<el-divider></el-divider>
    <div class="timelineProcessBox">
      <el-timeline class="timeline">
        <el-timeline-item
          class="lineitem"
          :class="activity.done ? 'active' : 'inactive'"
          v-for="(activity, index) in activities"
          :key="index"
          :timestamp="activity.time"
        >
          <span style="display: flex; flex-direction: column">
            <span style="margin: 10px 0; font-size: 16px">
              {{ activity.content }}
            </span>
            <span style="color: #8c8c8c; font-size: 14px">
              {{ activity.people }}
            </span>
          </span>
        </el-timeline-item>
      </el-timeline>
    </div>
  </div>
</div>
<script>

  const {createApp, ref, reactive, computed} = Vue
  const app = createApp({ //createApp:vue的工厂函数,不是vue2 的构造函数
    setup() {
      const activities = ref([
        {
          content: '立项阶段',
          time: '2018-04-12 20:46',
          people: '小王也',
          done: true,
        },
        {
          content: '需求-开发阶段',
          people: '狐灵国王',
          done: false,
          time: '2018-04-03 20:46',
        },
        {
          content: '验收阶段',
          done: false,
          people: '熊大',
          time: '2018-04-03 20:46',
        },
        {
          content: '结算阶段',
          people: '',
          done: false,
          time: '',
        }
      ])
      const message = ref('Hello vue!') //创建一个包含响应式数据的引用对象(reference对象,简称ref对象)。赋值:message.value=newvalue
      return {//返回的是一个:promise,  一个对象,一个字段,等于vue2:data:{return{}}
        message,
        activities
      }
    },
  })
  app.use(ElementPlus)
  app.mount('#app')
</script>
</body>
</html>

vue3, element plus下载

<link rel="stylesheet" href="https://unpkg.com/browse/element-plus@2.4.2/dist/index.css">

<script src='https://unpkg.com/element-plus@2.4.2/dist/index.full.js'></script>

//element plus的字体库可以在element ui发布下下载

UNPKG - element-ui

参考:

Jquery 老项目引入vue,elementui-CSDN博客

相关推荐
小远yyds14 分钟前
前端Web用户 token 持久化
开发语言·前端·javascript·vue.js
吕彬-前端1 小时前
使用vite+react+ts+Ant Design开发后台管理项目(五)
前端·javascript·react.js
学前端的小朱1 小时前
Redux的简介及其在React中的应用
前端·javascript·react.js·redux·store
guai_guai_guai1 小时前
uniapp
前端·javascript·vue.js·uni-app
bysking2 小时前
【前端-组件】定义行分组的表格表单实现-bysking
前端·react.js
王哲晓3 小时前
第三十章 章节练习商品列表组件封装
前端·javascript·vue.js
fg_4113 小时前
无网络安装ionic和运行
前端·npm
理想不理想v3 小时前
‌Vue 3相比Vue 2的主要改进‌?
前端·javascript·vue.js·面试
酷酷的阿云3 小时前
不用ECharts!从0到1徒手撸一个Vue3柱状图
前端·javascript·vue.js
微信:137971205873 小时前
web端手机录音
前端