html实现时间轴_纯css实现响应式竖着/垂直时间抽布局效果

HTML实现时间轴-纯CSS实现响应式竖着/垂直时间线布局效果

时间轴是现代网站设计中非常流行的一种设计元素。在该设计元素中,一系列日期和事件以时间线的形式展示出来。在本文中,我们将讨论如何使用HTML和CSS实现一个响应式、垂直排列的时间轴布局。

HTML代码结构

为了实现时间轴布局,我们需要定义一些HTML元素,如 ullip等。下面是时间轴布局HTML代码结构的一般模板:

<ul class="timeline">
  <li>
    <div class="timeline-badge">
      <i class="fa fa-plus"></i>
    </div>
    <div class="timeline-panel">
      <div class="timeline-heading">
        <h4 class="timeline-title">Event Title One</h4>
        <p><small class="text-muted"><i class="fa fa-clock-o"></i> Date</small></p>
      </div>
      <div class="timeline-body">
        <p>Event Description One</p>
      </div>
    </div>
  </li>
  <li class="timeline-inverted">
    <div class="timeline-badge">
      <i class="fa fa-minus"></i>
    </div>
    <div class="timeline-panel">
      <div class="timeline-heading">
        <h4 class="timeline-title">Event Title Two</h4>
        <p><small class="text-muted"><i class="fa fa-clock-o"></i> Date</small></p>
      </div>
      <div class="timeline-body">
        <p>Event Description Two</p>
      </div>
    </div>
  </li>
</ul>

在上面的代码中,我们将所有的时间轴事件嵌套在一个 ul 元素中。每个事件都被包含在一个 li 元素中。每个事件都有一个左侧的时间线点 timeline-badge ,一个包含事件细节的区域 timeline-panel

CSS样式

现在,让我们开始定义我们的CSS样式,使时间轴布局显得更加美观和易于阅读。下面是直接使用CSS样式实现时间轴布局的示例:

.timeline {
  list-style: none;
  padding: 20px 0 20px;
  position: relative;
}
.timeline:before {
  top: 0;
  bottom: 0;
  position: absolute;
  content: " ";
  width: 2px;
  background-color: #eeeeee;
  left: 50%;
  margin-left: -1.5px;
}
.timeline > li {
  margin-bottom: 20px;
  position: relative;
}
.timeline > li:before,
.timeline > li:after {
  content: " ";
  display: table;
}
.timeline > li:after {
  clear: both;
}
.timeline > li .timeline-badge {
  color: #fff;
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 1.4em;
  text-align: center;
  position: absolute;
  top: 16px;
  left: 50%;
  margin-left: -25px;
  background-color: #999999;
  border-radius: 50%;
  z-index: 100;
}
.timeline > li.timeline-inverted .timeline-badge {
  left: auto;
  right: 50%;
  margin-right: -25px;
}
.timeline > li.timeline-inverted .timeline-panel {
  float: right;
  /*改变事件细节内容的位置*/
}
.timeline > li.timeline-inverted .timeline-panel:before {
  border-left-width: 0;
  border-right-width: 15px;
  left: -15px;
  right: auto;
}
.timeline > li.timeline-inverted .timeline-panel:after {
  border-left-width: 0;
  border-right-width: 14px;
  left: -14px;
  right: auto;
}
.timeline > li .timeline-panel {
  width: 46%;
  float: left;
  /*改变事件细节内容的位置*/
  padding: 20px;
  border: 1px solid #d4d4d4;
  border-radius: 8px;
  background-color: #f4f4f4;
  position: relative;
  -webkit-box-shadow: -1px 1px 6px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: -1px 1px 6px rgba(0, 0, 0, 0.2);
  box-shadow: -1px 1px 6px rgba(0, 0, 0, 0.2);
}
.timeline > li.timeline-inverted .timeline-panel {
  float: right;
  /*改变事件细节内容的位置*/
}
.timeline > li.timeline-inverted .timeline-panel:before {
  border-left-width: 0;
  border-right-width: 15px;
  left: -15px;
  right: auto;
}
.timeline > li.timeline-inverted .timeline-panel:after {
  border-left-width: 0;
  border-right-width: 14px;
  left: -14px;
  right: auto;
}
.timeline > .timeline-heading h4 {
  margin-top: 0;
  color: inherit;
}
.timeline > .timeline-heading h4 > small {
  color: #999999;
}
.timeline > li.timeline-inverted > .timeline-panel:before {
  border-right-color: #d4d4d4;
  border-right-width: 1px;
  border-left-color: transparent;
  border-left-width: 0;
}
.timeline > li.timeline-inverted > .timeline-panel:after {
  border-right-color: #f4f4f4;
  border-right-width: 1px;
  border-left-color: transparent;
  border-left-width: 0;
}

在上述CSS样式中,我们为时间轴布局定义了一些通用样式,如列表样式、填充、以及时间轴点和事件细节的距离等。我们还定义了一些针对时间轴点和事件细节定制的样式。

响应式设计

现代网站必须是响应式的,能够适应各种尺寸的设备。因此,让我们使用CSS媒体查询添加响应式设计。

@media all and (max-width: 768px) {
  .timeline:before {
    left: 40px;
  }
  .timeline > li > .timeline-panel {
    width: calc(100% - 90px);
    width: -webkit-calc(100% - 90px);
    /* Safari */
    width: -moz-calc(100% - 90px);
    /* Firefox */
  }
  .timeline > li > .timeline-badge {
    left: 15px;
    margin-left: 0;
    top: 10px;
  }
  .timeline > li {
    margin-bottom: 30px;
  }
  .timeline > li:last-child {
    margin-bottom: 0;
  }
  .timeline > li.timeline-inverted > .timeline-panel {
    float: right;
  }
  .timeline > li.timeline-inverted > .timeline-panel:before {
    border-left-width: 0;
    border-right-width: 15px;
    left: -15px;
    right: auto;
  }
  .timeline > li.timeline-inverted > .timeline-panel:after {
    border-left-width: 0;
    border-right-width: 14px;
    left: -14px;
    right: auto;
  }
}

在上述CSS代码中,我们定义了一个媒体查询,它在屏幕宽度小于等于 768px 时生效。在该媒体查询内,我们重新编排了时间轴布局的大小和位置,从而使其适应移动设备的屏幕尺寸。

结语

时间轴是一种很好的展示历史事件和进程的方式。使用HTML和CSS实现时间轴布局可以为现代网站增添非常酷炫的设计元素。本文提供了一个使用HTML和CSS实现时间轴布局的示例模板,并介绍了一些定制时间轴布局的CSS样式和响应式设计。

如果你想要在你的网站中添加时间轴布局,可以试试我们提供的这种实现方式。祝你实现想要的效果!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:html实现时间轴_纯css实现响应式竖着/垂直时间抽布局效果 - Python技术站

(0)
上一篇 2023年3月28日
下一篇 2023年3月28日

相关文章

  • Python+AutoIt实现界面工具开发

    Python+AutoIt实现界面工具开发 本文将介绍如何使用Python和AutoIt结合,实现界面工具开发的技术细节及步骤,帮助开发者快速上手开发高质量的界面工具。 什么是AutoIt? AutoIt是一个自由开源的Windows自动化工具,可以用来自动化Windows GUI交互应用程序。它使用了一套自称为AutoIt v3的脚本语言,可以将鼠标和键盘…

    其他 2023年3月28日
    00
  • 辐射4应用程序启动异常0xc000007b错误的解决方法

    标准的markdown格式文本 在本篇文章中,我将详细介绍如何解决“辐射4应用程序启动异常0xc000007b错误”的问题,同时也会提供两条示例说明,方便大家更好地理解。 问题分析 首先,0xc000007b错误是Windows系统特有的错误码,表示“应用程序无法启动,可能是因为系统相关的依赖文件未能正确加载或者缺失”。而辐射4应用程序启动异常,可能有以下原…

    other 2023年6月25日
    00
  • Win11打开文件资源管理器重启报错解决方法

    Win11打开文件资源管理器重启报错解决方法 在使用 Win11 操作系统时,有时会出现打开文件资源管理器后电脑突然重启的问题。下面我们将详细讲解如何解决这个问题。 解决方法 检查文件管理器中的错误 在文件管理器中打开一个文件夹时,很可能会触发一个程序崩溃,导致电脑突然重启。为了避免这种情况,我们可以先检查文件管理器中的错误。 打开文件资源管理器 点击“查看…

    other 2023年6月27日
    00
  • 魔兽世界6.0熊T技能循环详解 各技能详细分析

    魔兽世界6.0熊T技能循环详解 本篇攻略介绍了魔兽世界6.0版本中,熊德国王专精的技能循环。本攻略将详细讲解各个技能的使用方法和优先级,帮助熊德国王在战斗中表现更加出色。 技能优先级 魔兽世界熊德国王专精的技能使用优先级如下: 月火术 野性冲锋 槌击 树皮术 重击 塞纳里奥结界 治疗之触(治疗模式下使用) 技能优先级的设定主要是出于几个方面的考虑,首先月火术…

    other 2023年6月27日
    00
  • 已获得腾讯 ROM内测资格 TOS各机型安装包下载地址汇总

    已获得腾讯 ROM内测资格 TOS各机型安装包下载地址汇总攻略 本攻略将详细介绍如何获得腾讯 ROM 内测资格,并提供 TOS 各机型安装包的下载地址汇总。以下是攻略的步骤: 步骤一:申请腾讯 ROM 内测资格 首先,访问腾讯 ROM 内测官方网站(示例链接:https://rom.qq.com/)。 在网站首页,寻找内测资格申请入口,通常位于页面顶部或底部…

    other 2023年8月4日
    00
  • 解决springboot bean中大写的字段返回变成小写的问题

    解决Spring Boot Bean中大写的字段返回变成小写的问题 在Spring Boot中,当我们使用Jackson库进行JSON序列化和反序列化时,有时会遇到一个问题:大写的字段在返回结果中被转换成了小写。这可能会导致一些不便,特别是当我们需要保留字段的大小写时。下面是解决这个问题的完整攻略。 步骤一:添加Jackson的配置 首先,我们需要在Spri…

    other 2023年8月18日
    00
  • mantis1.2.19onwindowsserver2012r2datacenter安装 ”

    以下是“mantis1.2.19 on Windows Server 2012 R2 Datacenter 安装”的完整攻略: Mantis 1.2.19 on Windows Server 2012 R2 Datacenter 安装 Mantis是一款开源的缺陷跟踪系统,可以帮助团队更好地管理软件开发过程中的缺陷。本攻略中,我们将介绍如何在Windows …

    other 2023年5月7日
    00
  • Android UI设计系列之自定义ViewGroup打造通用的关闭键盘小控件ImeObserverLayout(9)

    让我来详细讲解一下“Android UI设计系列之自定义ViewGroup打造通用的关闭键盘小控件ImeObserverLayout(9)”的完整攻略。 简介 本篇攻略主要是讲解如何自定义ViewGroup来实现通用的关闭键盘小控件ImeObserverLayout。通过本文的学习,你将会了解到如何使用较少的代码实现一个通用的小控件,并掌握自定义ViewGr…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部