angular-timeline
Version:
An Angular.js directive that generates a responsive, data-driven vertical timeline to tell a story, show history or describe a sequence of events.
196 lines (166 loc) • 4.09 kB
CSS
.timeline-heading .glyphicon {
margin-right: 4px;
vertical-align: -1px; }
img {
vertical-align: middle; }
.img-responsive {
display: block;
height: auto;
max-width: 100%; }
.img-rounded {
border-radius: 3px; }
.img-thumbnail {
background-color: #fff;
border: 1px solid #ededf0;
border-radius: 3px;
display: inline-block;
height: auto;
line-height: 1.428571429;
max-width: 100%;
moz-transition: all .2s ease-in-out;
o-transition: all .2s ease-in-out;
padding: 2px;
transition: all .2s ease-in-out;
webkit-transition: all .2s ease-in-out; }
.img-circle {
border-radius: 50%; }
.timeline {
padding: 0;
list-style: none;
position: relative; }
.timeline:before {
top: 0;
bottom: 0;
position: absolute;
content: " ";
width: 3px;
background-color: #cccccc;
left: 50%;
margin-left: -1.5px; }
.timeline-event {
margin-bottom: 20px;
position: relative; }
.timeline-footer {
margin-top: 10px;
padding: 10px 0; }
.timeline-footer a {
color: #fff;
background-color: #acb7c0;
border-radius: 0.25em;
padding: 0.8em 1em;
margin: 0; }
timeline-badge.primary {
background-color: #2e6da4 ; }
timeline-badge.success {
background-color: #3f903f ; }
timeline-badge.warning {
background-color: #f0ad4e ; }
timeline-badge.danger {
background-color: #d9534f ; }
timeline-badge.info {
background-color: #5bc0de ; }
.timeline-title {
margin-top: 0; }
timeline-panel > * {
margin: 0; }
timeline-panel {
background-color: #fff;
float: left;
border: 1px solid #d4d4d4;
border-radius: 2px;
padding: 12px;
position: relative;
-webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); }
timeline-panel:before {
position: absolute;
top: 35px;
right: -15px;
display: inline-block;
border-top: 15px solid transparent;
border-left: 15px solid #ccc;
border-right: 0 solid #ccc;
border-bottom: 15px solid transparent;
content: " "; }
timeline-panel:after {
position: absolute;
top: 36px;
right: -14px;
display: inline-block;
border-top: 14px solid transparent;
border-left: 14px solid #fff;
border-right: 0 solid #fff;
border-bottom: 14px solid transparent;
content: " "; }
timeline-badge {
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);
color: #fff;
width: 50px;
height: 50px;
line-height: 50px;
font-size: 1.4em;
text-align: center;
position: absolute;
top: 26px;
left: 50%;
margin-left: -25px;
background-color: #999999;
z-index: 100;
border-top-right-radius: 50%;
border-top-left-radius: 50%;
border-bottom-right-radius: 50%;
border-bottom-left-radius: 50%; }
.timeline-inverted timeline-panel {
float: right; }
.timeline-inverted timeline-panel:before {
border-left-width: 0;
border-right-width: 15px;
left: -15px;
right: auto; }
.timeline-inverted timeline-panel:after {
border-left-width: 0;
border-right-width: 14px;
left: -14px;
right: auto; }
.timeline-event:before,
.timeline-event:after {
content: " ";
display: table; }
.timeline-event:after {
clear: both; }
.timeline-event:before,
.timeline-event:after {
content: " ";
display: table; }
.timeline-event:after {
clear: both; }
@media only screen and (min-width: 768px) {
timeline-panel {
width: calc(50% - 45px);
width: -moz-calc(50% - 45px);
width: -webkit-calc(50% - 45px); } }
@media only screen and (max-width: 767px) {
.timeline:before {
left: 40px; }
timeline-panel {
width: calc(100% - 85px);
width: -moz-calc(100% - 85px);
width: -webkit-calc(100% - 85px); }
timeline-badge {
left: 15px;
margin-left: 0;
top: 36px; }
timeline-panel {
float: right; }
timeline-panel:before {
border-left-width: 0;
border-right-width: 15px;
left: -15px;
right: auto;
top: 46px; }
timeline-panel:after {
border-left-width: 0;
border-right-width: 14px;
left: -14px;
right: auto;
top: 47px; } }