
vue每日一学:用时间线组件实现时间步骤。先可以效果图:

代码贴出来:
<template>
<ul>
<li v-for="t in timelineList" :key="t.id">
<div>
<div>
<div></div>
</div>
<div></div>
</div>
<div>
<div>{{t.date}}</div>
<div>{{ t.title}}</div>
<div>{{ t.content}}</div>
</div>
</li>
</ul>
</template>
<script type="text/babel">
import Vue from 'vue'
export default Vue.component('Timeline',{
name: "Timeline",
props: {
timelineList: {
type: Array,
default: () => {
return []
}
}
}
})
</script>
<style scoped>
ul.timeline-wrapper {
list-style: none;
margin: 0;
padding: 0;
}
/* 时间线 */
.timeline-item {
position: relative;
.timeline-box {
text-align: center;
position: absolute;
.out-circle {
width: 16px;
height: 16px;
background: rgba(14, 116, 218, 0.1);
box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.1);
/*opacity: 0.1;*/
border-radius: 50%;
display: flex;
align-items: center;
.in-circle {
width: 8px;
height: 8px;
margin: 0 auto;
background: rgba(14, 116, 218, 1);
border-radius: 50%;
box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.1);
}
}
.long-line {
width: 2px;
height: 98px;
background: rgba(14, 116, 218, 1);
box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.1);
opacity: 0.1;
margin-left: 8px;
}
}
.timeline-content {
box-sizing: border-box;
margin-left: 20px;
height: 106px;
padding: 0 0 0 20px;
text-align: left;
margin-bottom: 30px;
.timeline-title {
font-size: 14px;
word-break: break-all;
margin-bottom: 16px;
color: #333;
font-weight: 500;
/*display: inline;*/
}
.timeline-date {
font-size: 16px;
color: #333;
font-weight: 500;
margin-bottom: 16px;
}
.timeline-desc {
font-size: 14px;
color: #999999;
}
}
}
.timeline-item:last-of-type .timeline-content {
margin-bottom: 0;
}
</style>组件弄好了,我们应用起来吧。
// 父组件引用 <timeline :timeline-list="dongtai"></timeline> // 引入组件,记得组件路径要根据自己的来 import Timeline from "./Timeline"; // 在data()返回的对象里声明数组 dongtai:[]
大家放到开发软件里测试吧。



网友评论文明上网理性发言 已有0人参与
发表评论: