element-plus 时间线左右布局,自定义本地图标

实现效果:

icon属性是放置组件库内置icon,与设计图出入很大,不美观。于是就在csdn搜索有没有自定义本地图标的方法,我看一了圈没有发现。花了点时间自己实现,然后放在csdn中帮助更多的打工人,也方便以后的自己。

icon属性还有另外一个类型,component,可以搭配h函数写一组img元素,就能实现自己想要的效果

<el-timeline  style="margin-left: 55px;">
<el-timeline-item
 v-for="(activity, index) in activities"
 :key="index"
 :type="activity.type"
 :color="activity.color"
 :size="activity.size"
 :hollow="activity.hollow"
 :timestamp="activity.timestamp"
 :icon="renderCustomIcon(activity.icon)"
>
<div class="timeLine-right">
    {{ activity.content }}
  </div>
</el-timeline-item>
</el-timeline>
<script setup>
/*
* { String } 本地图片路径
*/
const renderCustomIcon = (iconSrc) => {
 return h('img',{ src:iconSrc,class:'custom-icon' });
};
</script>
<style>
//时间线左右布局,不建议使用px直接设置偏移量,还是按照自己项目进行调整  
:deep(.el-timeline-item__timestamp) {
  position: absolute;
  left: -55px;
  top: -6px;
}
</style>

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用Element Plus实现时间线左右布局且居中的示例代码: ```html <template> <div class="timeline-container"> <el-timeline align="alternate"> <el-timeline-item timestamp="2021-10-01 12:00:00" placement="top" style="margin-right: auto;" > <h4>Event 1</h4> <p>Description of Event 1.</p> </el-timeline-item> <el-timeline-item timestamp="2021-10-02 12:00:00" placement="bottom" style="margin-left: auto;" > <h4>Event 2</h4> <p>Description of Event 2.</p> </el-timeline-item> <el-timeline-item timestamp="2021-10-03 12:00:00" placement="top" style="margin-right: auto;" > <h4>Event 3</h4> <p>Description of Event 3.</p> </el-timeline-item> <el-timeline-item timestamp="2021-10-04 12:00:00" placement="bottom" style="margin-left: auto;" > <h4>Event 4</h4> <p>Description of Event 4.</p> </el-timeline-item> </el-timeline> </div> </template> <style> .timeline-container { display: flex; justify-content: center; align-items: center; height: 100vh; } </style> ``` 解释一下上述代码: 1. `el-timeline` 是 Element Plus 中的时间线组件,`align="alternate"` 属性表示左右布局,`el-timeline-item` 表示一个时间线项。 2. `timestamp` 属性表示时间戳,`placement` 属性表示时间线项在时间线上的位置,`style` 属性中的 `margin-right: auto;` 和 `margin-left: auto;` 分别表示使得时间线项居中对齐。 3. `timeline-container` 类是一个容器,通过 `display: flex; justify-content: center; align-items: center;` 属性使得时间线居中显示。 希望这个答案能够帮到你!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值