在dialog弹出框中实现竖形时间轴,如上图,难点在于左侧的时间和圆点要根据右侧的内容的长度来定位,可根据固定宽度,根据长度/宽度来计算几行,来确定具体的位置。
下面的实现不是上述原理,是规定数据格式,用css样式实现的
数据格式:
detailContent: [
{ code: '已审核待审批 ', des: ' 2019-11-18 09:44', name: 'zhangsan-张三',
detailContents: [
{ code: '审核结论:', des: '0-给付或部分给付' },
{ code: '给付类型:', des: '01-协议给付;' },
{ code: '原因明细:', des: '与出险人协商结果;' },
{ code: '特殊备注:', des: '无;' },
{ code: '案件标识:', des: '11-普通案件;' },
{ code: '审核意见:', des: '根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据' }
] },
{ code: '已立案待审核 ', des: ' 2019-11-18 09:44', name: 'wangwu-王五',
detailContents: [
{ code: '立案结论:', des: '01-立案通过' }
] },
{ code: '审核回退立案 ', des: '2019-11-18 09:44', name: 'zhangsan-张三',
detailContents: [
{ code: '审核结论:', des: 'a-案件回退' },
{ code: '回退原因:', des: '03-受益人身份确认有误或待完善' },
{ code: '特殊备注:', des: '此为重大问题;' },
{ code: '案件标识:', des: '11-普通案件;' },
{ code: '审核意见:', des: '根据根原因根据XXX' }
] },
{ code: '审批回退审核 ', des: '2019-11-18 09:44', name: 'wangwu-王五',
detailContents: [
{ code: '审批结论:', des: '1-不同意' },
{ code: '不同意原因:', des: '05-索赔文件所示事故非有效期限范围;' },
{ code: '不同意依据:', des: '金额理算不正确,烦请确认;' },
{ code: '审批意见:', des: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' }
] },
{ code: '已审核待审批 ', des: '2019-11-18 09:44', name: 'zhangsan-张三',
detailContents: [
{ code: '审核结论:', des: '1-全部拒付' },
{ code: '拒付原因:', des: '03-不如实告知;' },
{ code: '拒付依据:', des: '身份信息虚报;' },
{ code: '特殊备注:', des: '此为重大问题;' },
{ code: '案件标识:', des: '11-普通案件;' },
{ code: '审批意见:', des: '根据根原因根据XXX' }
] },
{ code: '审批回退审核 ', des: '2019-11-18 09:44', name: 'wangwu-王五',
detailContents: [
{ code: '审批结论:', des: '1-不同意' },
{ code: '不同意原因:', des: '05-索赔文件所示事故非有效期限范围;' },
{ code: '不同意依据:', des: '金额理算不正确,烦请确认;' },
{ code: '审批意见:', des: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' }
] },
{ code: '已审核待审批 ', des: '2019-11-18 09:44', name: 'zhangsan-张三',
detailContents: [
{ code: '审核结论:', des: '0-给付或部分给付' },
{ code: '给付类型:', des: '01-协议给付;' },
{ code: '原因明细:', des: '与出险人协商结果;' },
{ code: '特殊备注:', des: '无;' },
{ code: '案件标识:', des: '11-普通案件;' },
{ code: '审核意见:', des: '根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据根原因根据' }
] },
{ code: '已立案待审核 ', des: '2019-11-18 09:44', name: 'zhangsan-张三',
detailContents: [
{ code: '立案结论:', des: '01-立案通过' }
] },
{ code: '已报案待立案 ', des: '2019-11-18 09:44', name: 'zhangsan-张三' }
]
HTML:
<div class="main">
<ul class="cbp_tmtimeline">
<li>
<div v-for="(item, index) in detailContent" :key="index" :class="{'cbp_div': index === (detailContent.length - 1)}">
<div class="cbp_left">
<span>{{item.code}}</span>
<span>{{item.des}}</span>
</div>
<div class="cbp_tmlabel">
<h3>zhangsan-张三</h3>
<div class="cbp_tmicon"></div>
<div v-for="(item, index) in item.detailContents" :key="index" >
<span>{{item.code}}</span>
<span>{{item.des}}</span>
</div>
</div>
</div>
</li>
</ul>
</div>
style样式:
<style>
.cbp_div {
height: 20px
width:570px
}
.cbp_left {
width: 120px
color: black
font-size: 1.2em
font-weight: 300
line-height: 1.4
margin-bottom: -60px
}
.main
{
width: 90%
max-width: 69em
margin: 0 auto
padding: 0 1.875em 3.125em 1.875em
}
.cbp_tmtimeline
{
width: 570px
margin: 40px 0 0 0
padding: 0
list-style: none
position: relative
}
/* The line */
.cbp_tmtimeline:before
{
content: ''
position: absolute
top: 0
bottom: 0
width: 3px
background: #b8cad6
left: 25%
margin-left: -11px
}
.cbp_tmtimeline >li
{
position: relative
}
.cbp_tmtimeline >li .cbp_tmlabel
{
margin: -65px 0 15px 25%
color: black
padding: 0 1em
font-size: 1.2em
position: relative
border-radius: 5px
}
.cbp_tmtimeline >li .cbp_tmicon
{
width: 18px
height: 18px
font-family: 'ecoico'
font-style: normal
font-weight: normal
font-variant: normal
position: absolute
color: #fff
background: #46a4da
border-radius: 50%
box-shadow: 0 0 0 3px #afdcf8
left: 26%
top: 0
margin: 0 0 0 -130px
}
</style>
可以放后面的,把li设置成display:block,给固定宽高,再把文字用a包括起来,a和em都浮动。或者不浮动,li相对定位,里面的a和em都绝对定位,然后left和top给值放到合适的位置。
如果你想你网站上的文字看起来更加不一样,就必须要给网页中的标题、段落和其他页面元素应用不同的字体。你可以用font-family属性在CSS样式里设置字体,如: font-family:Arial但是设置的这种字体,你电脑上必须装有该字体,否则将按原字体样式显示。当然,也可以写上多种字体,当对方浏览你的网站,没有安装第一种字体时,浏览器就会在列表中继续往上搜寻,直到找到有适合的字 体为止,像这样: font-family:Arial,Helvetica,sans-serif在上例中,Web浏览器会先看看是否安装了Arial字体。如果安装了,那么就用Arial字体显示;如果没有安装,浏览器就会继续寻找Helvetica字体;如果还是没有找到,最后它就会指定一种通用的字体--sans-serif。如果字体的名称中包含多个单词时,则必须用双引号(“”)将它们括起来,如: font-family:"Times New Roman",Times,serif以下就介绍几种常用的font-family字体类型组合,每一列的最后都包含一种通用的字体。 1、Serif字体:最适用于冗长的文字信息,因为读者都会觉得这种字体使字母主笔划的结尾处会有一些细小的“足”,能够比较有效地引导人们的视线从一个字母一到到下一个字母,阅读起来感觉更加轻松。serif字体包括:Times,Times New Roman、Georgia。 2、Sans-serif字体:它看起来干净而简洁,所有经常被用在标题上。Sans-serif字体包括:Arial、Helvetica、Verdana和Formata。 3、Monospaced字体:它经常用于显示计算机代码,它每个字母都是等宽的。