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日

相关文章

  • 深入解析Go 变量字符串与字符编码问题

    深入解析Go 变量字符串与字符编码问题 前言 Go是一门强类型语言,变量在使用前必须先声明,并且变量的类型必须在声明时指定。本文将深入探讨Go中的变量、字符串以及字符编码问题。 Go变量 Go变量必须先声明后使用,可以通过var关键字或:=操作符来声明变量。 var关键字 var关键字可用于声明一个或多个变量。如: var a int var b, c, d…

    other 2023年6月20日
    00
  • java中dart类详细讲解

    Java中Dart类详细讲解 Dart类简介 Dart类是一种面向对象的编程方式,与Java中的类概念类似。Dart中使用类来表示对象,通过定义类的属性和方法来描述对象的特征和行为。 Dart类通常由以下几个部分组成: 类名,用来标识类的名称。 成员变量,用来存储类的属性。 构造函数,用来初始化类的对象。 成员函数,用来描述类的行为。 定义Dart类 在Da…

    other 2023年6月26日
    00
  • laravel5环境隐藏index.php后缀(apache)的方法

    Laravel 5环境隐藏index.php后缀(Apache)的方法攻略 在Laravel 5中,你可以通过配置Apache服务器来隐藏URL中的index.php后缀。下面是一份详细的攻略,包含了两个示例说明。 步骤1:启用mod_rewrite模块 首先,确保你的Apache服务器已经启用了mod_rewrite模块。你可以通过以下命令来检查: sud…

    other 2023年8月6日
    00
  • unityhub破解

    UnityHub破解 UnityHub是一款非常好用的游戏引擎管理器,但是它的付费政策却让很多用户感到不便。如果您需要使用收费版本的Unity,就需要购买付费许可证,否则无法使用。但是,有些用户并不希望花费大量金钱购买付费许可证,因此需要破解UnityHub。 在此提醒各位,破解软件是不被允许的行为,且使用破解版UnityHub可能会带来各种潜在的安全问题,…

    其他 2023年3月29日
    00
  • 四大olap工具选型浅析

    四大OLAP工具选型浅析 OLAP(Online Analytical Processing)是一种多维数据分析技术,可以用于快速分析大量数据。目前市场上有很多OL工具,其中比较知名有四大工:Microsoft Excel、Tableau、QlikView和Power BI。本文将对这四大工具进行浅析,帮助读者选择适合自己的OLAP工具。 1. Micros…

    other 2023年5月7日
    00
  • 使用 React hooks 实现类所有生命周期

    使用 React hooks 实现类所有生命周期的攻略可以分为以下步骤: 1. 引入 React 和 React hooks 首先,在使用 React hooks 实现类所有生命周期的过程中,我们需要引入 React 和 React hooks,以便在代码中使用相应的 API。 import React, { useState, useEffect, use…

    other 2023年6月27日
    00
  • config.sys 文件的基本配置语句

    下面是关于config.sys文件的基本配置语句的完整攻略: 1. config.sys文件的作用 在讲解配置语句之前,先了解一下config.sys文件的作用。config.sys文件是DOS操作系统启动时自动加载的命令配置文件,其中包含了一系列命令,用来配置系统环境、加载驱动程序等。在Windows 9x以及更早版本的Windows中,config.sy…

    other 2023年6月25日
    00
  • Android自定义控件基本原理详解(一)

    下面给出《Android自定义控件基本原理详解(一)》的完整攻略: 1. 什么是自定义控件 自定义控件是指在Android中,使用绘制相关API和布局相关API进行相关操作,创造出符合我们自身应用场景需要的控件。相比Android原生提供的控件,自定义控件更加灵活多变,可以满足更多样化的需求。 2. 自定义控件的三种实现方式 在Android中,实现自定义控…

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