網(wǎng)頁時(shí)間軸一般用于展示以時(shí)間為主線的事件,如企業(yè)網(wǎng)站常見的公司發(fā)展歷程等。本文將給大家介紹一款基于HTML5和CSS3的漂亮的垂直時(shí)間軸,它可以響應(yīng)頁面布局,適用于HTML5開發(fā)的PC和移動(dòng)手機(jī)WEB應(yīng)用。
?
HTML
我們使用了HTML5標(biāo)簽<section>,時(shí)間軸中所有的內(nèi)容包括標(biāo)題、簡(jiǎn)介、時(shí)間和圖像都放在.cd-timeline- block的DIV中,多個(gè)DIV形成一個(gè)序列,并把這些DIV放在<section>中。注意要看到本例演示效果,需要你的瀏覽器支持 HTML5和CSS3。
<section id="cd-timeline" class="cd-container">
<div class="cd-timeline-block">
<div class="cd-timeline-img cd-picture">
<img src="img/cd-icon-picture.svg" alt="Picture">
</div>
<div class="cd-timeline-content">
<h2>HTML5+CSS3實(shí)現(xiàn)的響應(yīng)式垂直時(shí)間軸</h2>
<p>網(wǎng)頁時(shí)間軸一般用于展示以時(shí)間為主線的事件,如企業(yè)網(wǎng)站常見的公司發(fā)展歷程等。本文將給大家介紹一款基于HTML5和CSS3的漂亮的垂直時(shí)間軸,它可以響應(yīng)頁面布局,適用于HTML5開發(fā)的PC和移動(dòng)手機(jī)WEB應(yīng)用。</p>
<a class="cd-read-more" target="_blank">閱讀全文</a>
<span class="cd-date">2015-01-06</span>
</div>
</div>
<div class="cd-timeline-block">
...
</div>
</div>
?
本例使用了svg圖像作為圖標(biāo),你也可以換成png,gif格式圖像。
?
CSS
我們使用:before偽類在時(shí)間軸#cd-timeline的前面創(chuàng)建一條垂直線,那么時(shí)間軸各個(gè)節(jié)點(diǎn)的內(nèi)容都會(huì)基于這垂直線。
#cd-timeline {
position: relative;
padding: 2em 0;
margin-top: 2em;
margin-bottom: 2em;
}
#cd-timeline::before {
content: '';
position: absolute;
top: 0;
left: 18px;
height: 100%;
width: 4px;
background: #d7e4ed;
}
?
好,接下來我們要做的是,根據(jù)用戶瀏覽器窗口的大小來調(diào)整時(shí)間軸的布局,當(dāng)瀏覽器窗口非常大時(shí),時(shí)間軸的各節(jié)點(diǎn)內(nèi)容會(huì)分布在垂直線的兩邊(垂直線居 中),當(dāng)瀏覽器窗口足夠小如手機(jī),iPad中豎屏瀏覽時(shí),時(shí)間軸的各節(jié)點(diǎn)內(nèi)容會(huì)排列在垂直線的右邊(垂直線靠左),這個(gè)俗稱響應(yīng)式布局。
.cd-timeline-block {
position: relative;
margin: 2em 0;
}
.cd-timeline-block:after {
content: "";
display: table;
clear: both;
}
.cd-timeline-block:first-child {
margin-top: 0;
}
.cd-timeline-block:last-child {
margin-bottom: 0;
}
@media only screen and (min-width: 1170px) {
.cd-timeline-block:nth-child(even) .cd-timeline-content {
float: right;
}
.cd-timeline-block:nth-child(even) .cd-timeline-content::before {
top: 24px;
left: auto;
right: 100%;
border-color: transparent;
border-right-color: white;
}
.cd-timeline-block:nth-child(even) .cd-timeline-content .cd-read-more {
float: right;
}
.cd-timeline-block:nth-child(even) .cd-timeline-content .cd-date {
left: auto;
right: 122%;
text-align: right;
}
}
?
CSS3中可以使用@media判斷設(shè)備的屏幕尺寸,根據(jù)不同的尺寸執(zhí)行不同的css樣式。本例中還用到了CSS3的陰影、圓角等效果,文中不再詳 述,大家可以參考網(wǎng)上好多關(guān)于CSS3的基礎(chǔ)教程,你也可以直接下載源碼包,本例的css全部整理在style.css文件中。當(dāng)然你也可以在本例的基礎(chǔ) 上使用JS和CSS3來給時(shí)間軸增加一些過渡動(dòng)畫,效果可能會(huì)更好。
來源于: http://www.helloweba.com/view-blog-285.html
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

