实现拐弯时间线、弯曲时间线或弯曲任务步骤条等效果,可以使用Vue来构建组件并结合CSS进行样式的调整。以下是一个简单的示例:
HTML模板:
<template> <div class="timeline"> <div class="timeline-item" v-for="(item, index) in items" :key="index"> <div class="item-content">{{ item }}</div> <div class="connector-wrapper"> <div class="connector" :class="{ active: index <= activeIndex }"></div> </div> </div> </div> </template>
CSS样式:
.timeline { display: flex; flex-direction: row; align-items: center; justify-content: space-between; } .timeline-item { display: flex; flex-direction: column; align-items: center; } .item-content { padding: 8px; background-color: #f2f2f2; border-radius: 4px; margin-bottom: 8px; } .connector-wrapper { display: flex; flex-direction: row; align-items: center; } .connector { flex: 1; height: 2px; background-color: #f2f2f2; } .connector.active { background-color: #007bff; }
Vue组件:
<template> <div> <timeline :items="timelineItems" :activeIndex="activeIndex" /> </div> </template> <script> import Timeline from './Timeline.vue'; export default { components: { Timeline, }, data() { return { timelineItems: ['Step 1', 'Step 2', 'Step 3', 'Step 4'], activeIndex: 2, // 选中的步骤索引 }; }, }; </script>
上述示例中,我们使用了一个Timeline组件,该组件接受两个props:items和activeIndex。items是一个数组,包含时间线中的每个步骤的内容。activeIndex表示当前选中的步骤索引。
在组件的模板中,我们使用v-for指令来遍历items数组,为每个步骤创建一个.timeline-item元素。在.timeline-item元素中,我们使用.item-content来显示步骤内容,使用.connector-wrapper和.connector来创建连接器。
在CSS样式中,我们定义了.timeline元素为一个水平的flex容器,每个步骤通过.flex-item的样式来排列。我们还定义了.connector元素,根据activeIndex来判断是否将其设置为活动状态。
通过使用类似的结构和样式,您可以根据具体需求来实现不同形状和效果的拐弯时间线、弯曲时间线或弯曲任务步骤条。