HTML+CSS實現時間軸(移動端)
html:
<section id="cd-timeline" class="cd-container">
<div class="cd-timeline-block">
<div class="cd-timeline-img cd-picture"></div>
<p class="cd-date">01:06</p>
<div class="cd-timeline-content">
<h2>HTML5+CSS3實現的響應式垂直時間軸faffHTML5+CSS3實現的響應式垂直時間軸</h2>
</div>
</div>
<div class="cd-timeline-block">
<div class="cd-timeline-img cd-movie"></div>
<p class="cd-date">12:25</p>
<div class="cd-timeline-content">
<h2>jQuery+PHP動態數字展示效果</h2>
</div>
</div>
<div class="cd-timeline-block">
<div class="cd-timeline-img cd-picture"></div>
<p class="cd-date">12:20</span>
<div class="cd-timeline-content">
<h2>PHP操作Session和Cookie</h2>
</div>
</div>
<div class="cd-timeline-block">
<div class="cd-timeline-img cd-movie"></div>
<p class="cd-date">12:14</p>
<div class="cd-timeline-content">
<h2>jQuery數字加減外掛</h2>
</div>
</div>
<div class="cd-timeline-block">
<div class="cd-timeline-img cd-movie"></div>
<p class="cd-date">12:05</p>
<div class="cd-timeline-content">
<h2>收集整理的非常有用的PHP函式</h2>
</div>
</div>
</section>
css:
html * {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
*, *:after, *:before {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
body {
font-size: 100%;
color: #7f8c97;
background-color: #e9f0f5;
}
img {
max-width: 100%;
}
/* --------------------------------
Modules - reusable parts of our design
-------------------------------- */
.cd-container {
/* this class is used to give a max-width to the element it is applied to, and center it horizontally when it reaches that max-width */
width: 94%;
max-width: 1170px;
margin: 0 auto;
}
.cd-container::after {
/* clearfix */
content: '';
display: table;
clear: both;
}
/* --------------------------------
Main components
-------------------------------- */
#cd-timeline {
position: relative;
padding: 2em 0;
margin-top: 2em;
margin-bottom: 2em;
}
#cd-timeline::before {
/* this is the vertical line */
content: '';
position: absolute;
top: 0;
left: 55px;
height: 100%;
width: 1px;
background: #d7e4ed;
}
@media only screen and (min-width: 1170px) {
#cd-timeline {
margin-top: 3em;
margin-bottom: 3em;
}
#cd-timeline::before {
left: 50%;
margin-left: -2px;
}
}
.cd-timeline-block {
position: relative;
margin: 2em 0;
display: flex;
align-items: center;
}
.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 {
margin: 4em 0;
}
.cd-timeline-block:first-child {
margin-top: 0;
}
.cd-timeline-block:last-child {
margin-bottom: 0;
}
}
.cd-timeline-img {
position: absolute;
top: 50%;
left: 50px;
width: 10px;
height: 10px;
background: #fff;
border-radius: 50%;
transform: translateY(-50%);
box-shadow: 0 0 0 1px white;
/* box-shadow: 0 0 0 4px white, inset 0 2px 0 rgba(0, 0, 0, 0.08), 0 3px 0 4px rgba(0, 0, 0, 0.05); */
}
.cd-timeline-img img {
display: block;
width: 24px;
height: 24px;
position: relative;
left: 50%;
top: 50%;
margin-left: -12px;
margin-top: -12px;
}
.cd-timeline-img.cd-picture {
/* background: #75ce66; */
}
.cd-timeline-img.cd-movie {
/* background: #c03b44; */
}
.cd-timeline-img.cd-location {
background: #f0ca45;
}
@media only screen and (min-width: 1170px) {
.cd-timeline-img {
width: 60px;
height: 60px;
left: 50%;
margin-left: -30px;
/* Force Hardware Acceleration in WebKit */
-webkit-transform: translateZ(0);
-webkit-backface-visibility: hidden;
}
.cssanimations .cd-timeline-img.is-hidden {
visibility: hidden;
}
.cssanimations .cd-timeline-img.bounce-in {
visibility: visible;
-webkit-animation: cd-bounce-1 0.6s;
-moz-animation: cd-bounce-1 0.6s;
animation: cd-bounce-1 0.6s;
}
}
.cd-timeline-content {
/* position: relative; */
/* float: left; */
width: 77%;
margin-left: 45px;
background: white;
border-radius: 0.25em;
/* padding: 1em; */
padding: 10px;
box-shadow: 0 3px 0 #d7e4ed;
}
.cd-timeline-content:after {
content: "";
display: table;
clear: both;
}
.cd-timeline-content h2 {
color: #303e49;
font-size: 12px;
}
/* .cd-timeline-content p, .cd-timeline-content .cd-read-more, .cd-timeline-content */
.cd-date {
/* float: left; */
font-size: 13px;
font-size: 0.8125rem;
}
/* .cd-timeline-content .cd-read-more, .cd-timeline-content */
/* .cd-date {
display: inline-block;
} */
.cd-timeline-content p {
margin: 1em 0;
line-height: 1.6;
}
.cd-timeline-content .cd-read-more {
float: right;
padding: .8em 1em;
background: #acb7c0;
color: white;
border-radius: 0.25em;
}
.no-touch .cd-timeline-content .cd-read-more:hover {
background-color: #bac4cb;
}
a.cd-read-more:hover{text-decoration:none; background-color: #424242; }
.cd-timeline-content .cd-date {
float: left;
padding: .8em 0;
opacity: .7;
}
.cd-timeline-content::before {
display: none;
content: '';
position: absolute;
top: 16px;
right: 100%;
height: 0;
width: 0;
border: 7px solid transparent;
border-right: 7px solid white;
}
@media only screen and (min-width: 768px) {
.cd-timeline-content h2 {
font-size: 20px;
font-size: 1.25rem;
}
.cd-timeline-content p {
font-size: 16px;
font-size: 1rem;
}
.cd-timeline-content .cd-read-more, .cd-timeline-content .cd-date {
font-size: 14px;
font-size: 0.875rem;
}
}
@media only screen and (min-width: 1170px) {
.cd-timeline-content {
margin-left: 0;
padding: 1.6em;
width: 45%;
}
.cd-timeline-content::before {
top: 24px;
left: 100%;
border-color: transparent;
border-left-color: white;
}
.cd-timeline-content .cd-read-more {
float: left;
}
.cd-timeline-content .cd-date {
position: absolute;
width: 100%;
left: 122%;
top: 6px;
font-size: 16px;
font-size: 1rem;
}
.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;
}
.cssanimations .cd-timeline-content.is-hidden {
visibility: hidden;
}
.cssanimations .cd-timeline-content.bounce-in {
visibility: visible;
-webkit-animation: cd-bounce-2 0.6s;
-moz-animation: cd-bounce-2 0.6s;
animation: cd-bounce-2 0.6s;
}
}
@media only screen and (min-width: 1170px) {
/* inverse bounce effect on even content blocks */
.cssanimations .cd-timeline-block:nth-child(even) .cd-timeline-content.bounce-in {
-webkit-animation: cd-bounce-2-inverse 0.6s;
-moz-animation: cd-bounce-2-inverse 0.6s;
animation: cd-bounce-2-inverse 0.6s;
}
}
相關文章
- 前端css實現最基本的時間軸前端CSS
- RecycleView自定義ItemDecoration,實現時間軸效果View
- 時間軸的實現(簡單到爆炸)
- 時間軸、流程類時間軸繪製
- 時間軸
- 移動端自動化測試實戰-思寒-極客時間-返現24元
- Android 自定義 View 實現橫行時間軸AndroidView
- Android自定義View:快遞時間軸實現AndroidView
- Android 時間軸的實現(RecyclerView更簡單)AndroidView
- Flutter 中通過 Container 實現時間軸效果FlutterAI
- JS時間軸效果(類似於qq空間時間軸效果)JS
- 移動端時間選擇器(更新 1.2.0 版本)
- HTML+CSS實現動態相簿HTMLCSS
- React 服務端渲染實現 Gank 移動端React服務端
- Java後端長時間無操作自動退出實現方案Java後端
- HTML5+CSS3實現的響應式垂直時間軸HTMLCSSS3
- Android 具有左右滑動功能的時間軸Android
- Html5實現移動端、PC端 刮刮卡效果HTML
- Android 自定義View實戰系列 :時間軸AndroidView
- js實現移動端字型響應式JS
- 原生 js 實現移動端 Touch 滑動反彈JS
- 移動端實現內滾動的4種方案
- 時間軸元件 by Vue.js元件Vue.js
- CSS3時間軸效果CSSS3
- 時間軸/里程碑模式模式
- Html5實現移動端、PC端 刮刮卡效果薦HTML
- 革命性移動端開發框架-Flutter時間簡史框架Flutter
- Flurry:哪種移動端應用的使用時間更長
- 移動遊戲征服碎片時間遊戲
- sqlalchemy實現時間列自動更新SQL
- 原生JS實現移動端線上籤協議JS協議
- 實現基於React的移動端Swiper元件React元件
- 移動端日曆元件設計與實現元件
- H5移動端彈幕動畫實現H5動畫
- 移動端的車牌識別如何實現
- 移動端實現1px的邊框
- 移動端無限滾動載入 js實現原理JS
- tiltShift.js – CSS3 實現移軸鏡頭JSCSSS3