草庐IT

用HTML CSS 实现简洁美观的时间线(历史年表)

mieriki 2023-03-28 原文

前几天在B站刷到尼尔后突发奇想,就想给尼尔做一个简单的小网站,在思考如何体现尼尔的世界观的时候想到了使用时间线的方式,将所有时间的事件罗列起来。所以就试着做了一下,这种方式可以很直观的表现一些历史上发生的事情,历史相关主题的一些网站应该可以参考一下

首先来看效果



以上都是游戏里的一些历史,简单的设计了一下,个人对整体的页面设计还是挺满意的,但是本期主要讲的是时间线,就不多扯其他的东西了,下面来讲讲具体是怎样实现的


首先是上面黑色的部分:

很简单

HTML:

<h2 class="daibiao">历史年表</h2>

CSS:

.daibiao {
	width: 100%;
	height: 50px;
	line-height: 50px;
	background-color: #47443B;
	color: white;
	text-align: center;
	margin: 0 auto 0;
	clear: both;
}

都是一些简单的样式,没什么好说的


在来看主要的时间线的部分,HTML因为是重复的,主要就只看格结构,这里我就只拿出一块来讲

HTML:

<div id="timeline">	
    <ul>
        <li>
			<div class="content">
				<h3>'复制体'们的文化开始成形</h3>
					<p>几乎全部的复制体都获得了自我意识。与原有的格式塔人格无关,是受到环境影响而成形的人格。
					根据居住地区的不同,不同的文化和文明急速的发展起来(比中世纪的时候略微先进的程度,基本上围绕着过去的遗物进行增建、生活)。</p>
			</div>
			<div class="time">
				<h4>AD 3000-XX</h4>
			</div>
		</li>
    <ul>
</div>

css的代码比较多

CSS:

#timeline {
	position: relative;
	margin: 0px auto;
	padding: 25px; 
	width: 1000px;
	height: 17100px ;
	box-sizing: border-box;
}

#timeline::before {
	content: '';
	position: absolute;
	left: 50%;
	width: 2px;
	height: 17045px;
	background: #47443B;
}

#timeline ul {
	margin: 0;
	padding: 0;
}

#timeline ul li {
	list-style: none;
	line-height: normal;
	position: relative;
	width: 50%;
	padding: 20px 40px;
	box-sizing: border-box;
}

#timeline ul li:nth-child(odd) {
	float: left;;
	text-align: right;
	clear: both;
}

#timeline ul li:nth-child(even) {
	float: right;;
	text-align: left;
	clear: both;
}

#timeline ul li:nth-child(odd)::before{
	content: '';
	position: absolute;
	top: 24px;
	right: -6px;
	width: 10px;
	height: 10px;
	background: rgba(71, 68, 59, 1);
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(71, 68, 59, 0.2);
}

#timeline ul li:nth-child(even)::before{
	content: '';
	position: absolute;
	top: 24px;
	left: -4px;
	width: 10px;
	height: 10px;
	background: rgba(71, 68, 59, 1);
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(71, 68, 59, 0.2);
}

#timeline ul li h3 {
	margin: 0;
	padding: 0;
	font-weight: 600;
	color: rgba(71, 68, 59, 1);
}

#timeline ul li p {
	margin: 10px 0 0;
	padding: 0;
}

#timeline ul li .time h4 {
	margin: 0;
	padding: 0;
	font-size: 14px;
}

#timeline ul li:nth-child(odd) .time {
	position: absolute;
	top: 10px;
	right: -165px;
	margin: 0;
	padding: 8px 16px;
	background: rgba(71, 68, 59, 1);
	color: white;
	border-radius: 18px;
	box-shadow: 0 0 0 3px rgba(71, 68, 59, 0.2);
}

#timeline ul li:nth-child(even) .time {
	position: absolute;
	top: 10px;
	left: -165px;
	margin: 0;
	padding: 8px 16px;
	background: rgba(71, 68, 59, 1);
	color: white;
	border-radius: 18px;
	box-shadow: 0 0 0 3px rgba(71, 68, 59, 0.2);
}

 

上面这些代码都是非常基础的。

好了,此次分享暂时就到这里了,遇过有需要的朋友欢迎参考,再见(づ ̄3 ̄)づ╭❤~

 

有关用HTML CSS 实现简洁美观的时间线(历史年表)的更多相关文章

  1. ruby - 如何根据特征实现 FactoryGirl 的条件行为 - 2

    我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden

  2. ruby-on-rails - Ruby 检查日期时间是否为 iso8601 并保存 - 2

    我需要检查DateTime是否采用有效的ISO8601格式。喜欢:#iso8601?我检查了ruby​​是否有特定方法,但没有找到。目前我正在使用date.iso8601==date来检查这个。有什么好的方法吗?编辑解释我的环境,并改变问题的范围。因此,我的项目将使用jsapiFullCalendar,这就是我需要iso8601字符串格式的原因。我想知道更好或正确的方法是什么,以正确的格式将日期保存在数据库中,或者让ActiveRecord完成它们的工作并在我需要时间信息时对其进行操作。 最佳答案 我不太明白你的问题。我假设您想检查

  3. ruby-on-rails - 将 Ruby 中的日期/时间格式化为 YYYY-MM-DD HH :MM:SS - 2

    这个问题在这里已经有了答案:Railsformattingdate(4个答案)关闭4年前。我想格式化Time.Now函数以显示YYYY-MM-DDHH:MM:SS而不是:“2018-03-0909:47:19+0000”该函数需要放在时间中.现在功能。require‘roo’require‘roo-xls’require‘byebug’file_name=ARGV.first||“Template.xlsx”excel_file=Roo::Spreadsheet.open(“./#{file_name}“,extension::xlsx)xml=Nokogiri::XML::Build

  4. ruby - 查找字符串中的内容类型(数字、日期、时间、字符串等) - 2

    我正在尝试解析一个CSV文件并使用SQL命令自动为其创建一个表。CSV中的第一行给出了列标题。但我需要推断每个列的类型。Ruby中是否有任何函数可以找到每个字段中内容的类型。例如,CSV行:"12012","Test","1233.22","12:21:22","10/10/2009"应该产生像这样的类型['integer','string','float','time','date']谢谢! 最佳答案 require'time'defto_something(str)if(num=Integer(str)rescueFloat(s

  5. ruby - 在 Ruby 中构建长字符串的简洁方法 - 2

    在编写Ruby(客户端脚本)时,我看到了三种构建更长字符串的方法,包括行尾,所有这些对我来说“闻起来”有点难看。有没有更干净、更好的方法?变量递增。ifrender_quote?quote="NowthatthereistheTec-9,acrappyspraygunfromSouthMiami."quote+="ThisgunisadvertisedasthemostpopularguninAmericancrime.Doyoubelievethatshit?"quote+="Itactuallysaysthatinthelittlebookthatcomeswithit:themo

  6. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  7. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  8. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  9. 【Java入门】使用Java实现文件夹的遍历 - 2

    遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg

  10. sql - 查询忽略时间戳日期的时间范围 - 2

    我正在尝试查询我的Rails数据库(Postgres)中的购买表,我想查询时间范围。例如,我想知道在所有日期的下午2点到3点之间进行了多少次购买。此表中有一个created_at列,但我不知道如何在不搜索特定日期的情况下完成此操作。我试过:Purchases.where("created_atBETWEEN?and?",Time.now-1.hour,Time.now)但这最终只会搜索今天与那些时间的日期。 最佳答案 您需要使用PostgreSQL'sdate_part/extractfunction从created_at中提取小时

随机推荐