使用 CSS 实现时间轴

news/2024/11/24 5:27:41/

文章目录

  • 一、基本思路
  • 二、具体实现
  • 三、其他

如果有更好的思路或者建议,请务必在评论区告诉我。

一、基本思路

  1. 首先在最外层构建一个 box,用来包裹所有的 item
  2. 每一个子项拥有各自的元件,包括:line,icon,content
  3. 使用伪元素来创建 line 和 icon
  4. 把内容放在右边

二、具体实现

话不多说,直接上代码,仔细看注释。

.timeline {display: block;background-color: #fff;
}.timeline>.item {// 使用内填充将 content 定位到右边padding: 30px 15px 30px 60px;position: relative;display: block;z-index: 0;
}.timeline>.item::after {content: "";display: block;// 绝对定位到左边position: absolute;left: 30px;top: 0;width: 1px;background: #ddd;// 占满整个 item 的高度height: 100%;// 显示在 item 之上z-index: 8;
}.timeline>.item::before {// 伪元素的内容是 icon-fontcontent: '\F030';   display: block;background-color: #fff;// 设置伪元素的宽高和内容width: 25px;height: 25px;// 设置 icon 的大小font-size: 20px;// 将 icon 垂直居中line-height: 25px;// 将 icon 水平居中text-align: center;// 绝对定位到正确位置position: absolute;left: 15px;border: none;// 显示在 line 之上z-index: 9;
}.timeline>.item>.content {border: 1px solid #f1f1f1;display: block;line-height: 1.6;
}.timeline>.item>.content+.content {// 如果一个子项里有多个正文,则隔开它们margin-top: 10px;
}

三、其他

提供思路,具体实现需要看情况写代码。

item 的 color 值可以设置 icon 的颜色。

可以替换 icon 的内容,不只是替换伪元素的内容,也可以通过伪类、伪元素选择器来实现,如果 item 上没有其他类似 icon-name 的类,则伪元素的内容显示默认的。

同理,如果需要类似进度条的效果,可以通过 item 绑定 active 类,来动态实现 line 的变色。


http://www.ppmy.cn/news/201023.html

相关文章

静止轨道卫星几何校正——FY-4A几何校正(风云系列静止卫星可以参考)

前言 经常从静止轨道卫星的数据说明中可以看到这样的内容,“数据已经经过了投影”,但是对于初次使用静止轨道卫星数据的人来说,在打开数据后会感到奇怪,这哪里是经过投影的数据,什么有用的信息都看不到。我在读了很多…

永磁同步电机(PMSM)知识系列之坐标变换

坐标变换 为了简化自然坐标系下三相 PMSM 的数学模型,PMSM控制算法中采用的坐标变换通常包括静止坐标变换( Clark 变换)和同步旋转坐标变换( Park变换) 。各坐标系如下图所示,其中,ABC为三相坐标…

《时间戳》

类型:long/int64 单位:毫秒 long timePoint; 时间戳的起点是1970-01-01 08:00:00(北京时间) 例如: timePoint 0 转化成时间点为1970-01-01 08:00:00 timePoint 4321000 转化成时间点为1970-01-01 08:43:21 …

html+css+js 动态时钟

今天我在学习css3的时候,无意间在一个博客好友的文章里看见咯一个纯代码写出的动态时钟,我觉得很有确,我就试着按照他的思路分析自己写咯一个, 不过我写的和他写的还是有区别的,他的好些元素是用js创建的,…

时间轮盘TimeWheel

在管理网络连接时,经常要对大量的连接进行超时管理,如将超时的连接断开。如果将这些大量的连接放在一个map中,然后用一个线程进行扫描,把超时的连接找到,如果连接很多,则这种做法很难接受的。 目前有个通用…

react moment 时间管理

在react中使用得先导入 import moment from moment; 编辑 npm install moment var moment require(moment); moment().format(); 注意:在2.4.0,全局导出的时刻对象已被弃用。将在下一个主要版本中删除。 示例: 当前时间: 当前时…

js 时间间隔和时间暂停

转:http://blog.sina.com.cn/s/blog_50a82dcd01008r8y.html JavaScript 支持暂停和时间间隔,这课有效的告诉浏览器应该何时执行某行代码。暂停就是在指定的毫秒数。 1、setTimeout(function,time): 第一个参数可以是代码串,也是可以函数指针&…

时间轮(TimingWheel)

一、什么是时间轮 时间轮其实就是一种环形的数据结构,可以想象成时钟,分成很多格子,一个格子代表一段时间(这个时间越短,Timer的精度越高)。并用一个双向链表存储放在该格子上的延时任务,同时一…