Панель управления сверстанная и с встроенным jQuery.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

459 lines
7.9 KiB

/* ------------------------------------------------------------------------------
*
* # Timeline
*
* Styles for timeline in 3 layouts: left, right and centered
*
* Version: 1.1
* Latest update: Dec 11, 2015
*
* ---------------------------------------------------------------------------- */
// Base
// ------------------------------
.timeline {
position: relative;
height: 100%;
&:before,
&:after {
content: "";
position: absolute;
top: 0;
left: 50%;
margin-left: -(@timeline-line-width);
background-color: @timeline-line-color;
height: (@timeline-line-width * 2);
width: (@timeline-line-width * 2);
border-radius: 50%;
z-index: 1;
}
&:after {
top: auto;
bottom: 0;
}
}
// Container
// ------------------------------
.timeline-container {
position: relative;
padding-top: (@line-height-computed / 2);
margin-top: -(@line-height-computed / 2);
padding-bottom: 1px;
&:after {
content: "";
position: absolute;
top: 0;
left: 50%;
margin-left: -(@timeline-line-width / 2);
background-color: @timeline-line-color;
height: 100%;
width: @timeline-line-width;
z-index: -1;
}
}
// Content
// ------------------------------
// Row
.timeline-row {
position: relative;
}
// Content
.timeline-content {
margin-bottom: @line-height-computed;
}
// Date
// ------------------------------
.timeline-date {
text-align: center;
background-color: @body-bg;
position: relative;
z-index: 1;
padding-top: @line-height-computed;
padding-bottom: @line-height-computed;
margin-bottom: @line-height-computed;
&:before,
&:after {
content: "";
position: absolute;
top: 0;
left: 50%;
margin-left: -(@timeline-line-width);
background-color: @timeline-line-color;
height: (@timeline-line-width * 2);
width: (@timeline-line-width * 2);
border-radius: 50%;
z-index: 1;
}
&:after {
top: auto;
bottom: 0;
}
.panel & {
background-color: @panel-bg;
}
}
// Time
// ------------------------------
.timeline-time {
text-align: center;
padding-top: @line-height-computed;
padding-bottom: @line-height-computed;
background-color: @body-bg;
position: relative;
margin-bottom: @line-height-computed;
&:before,
&:after {
content: "";
position: absolute;
top: 0;
left: 50%;
margin-left: -(@timeline-line-width);
background-color: @timeline-line-color;
height: (@timeline-line-width * 2);
width: (@timeline-line-width * 2);
border-radius: 50%;
}
&:after {
top: auto;
bottom: 0;
}
.panel & {
background-color: @panel-bg;
}
span {
display: block;
color: @text-muted;
font-size: @font-size-small;
&:before {
content: '•';
display: inline-block;
margin-right: 5px;
position: relative;
top: 1px;
}
}
@media (min-width: @screen-md) {
&:before,
&:after {
content: none;
}
}
}
// Icon and image
// ------------------------------
.timeline-icon {
width: @timeline-icon-size;
height: @timeline-icon-size;
border-radius: 50%;
margin: 0 auto @line-height-computed auto;
background-color: #fff;
border: @timeline-icon-border-width solid @body-bg;
.panel & {
border-color: @panel-bg;
}
// Icon
div {
border-radius: 50%;
height: 100%;
.box-shadow(0 0 0 2px @timeline-line-color inset);
&[class*=bg-] {
.box-shadow(none);
}
> i {
display: block;
line-height: (@timeline-icon-size - (@timeline-icon-border-width * 2));
top: 0;
}
}
// Image
img {
width: (@timeline-icon-size - (@timeline-icon-border-width * 2));
height: (@timeline-icon-size - (@timeline-icon-border-width * 2));
border-radius: 50%;
}
}
@media (min-width: @screen-md) {
// Positions
// ------------------------------
// Center layout
.timeline-center {
// Row
.timeline-row {
margin-right: 50%;
padding-right: (@timeline-icon-size - @timeline-icon-border-width);
}
// Even post
.post-even {
margin-right: 0;
padding-right: 0;
margin-left: 50%;
padding-left: (@timeline-icon-size - @timeline-icon-border-width);
}
// Full width post
.post-full {
margin: 0;
padding: 0;
.timeline-content {
position: relative;
&:before,
&:after {
content: '';
border-style: solid;
border-color: @body-bg;
display: block;
position: absolute;
left: 0;
right: 0;
}
&:before {
border-width: @timeline-icon-border-width 0 0 0;
top: -(@timeline-icon-border-width + 1);
}
&:after {
border-width: 0 0 @timeline-icon-border-width 0;
bottom: -(@timeline-icon-border-width + 1);
}
}
}
}
// Left layout
.timeline-left {
// Vertical line
.timeline-container:after,
&:before,
&:after,
.timeline-date:before,
.timeline-date:after {
left: (@timeline-icon-size / 2);
}
// Content padding
.timeline-row,
.timeline-date {
padding-left: (@timeline-icon-size + @line-height-computed);
}
}
// Right layout
.timeline-right {
// Vertical line
.timeline-container:after,
&:before,
&:after,
.timeline-date:before,
.timeline-date:after {
left: auto;
right: (@timeline-icon-size / 2);
margin-left: 0;
margin-right: -(@timeline-line-width);
}
.timeline-container:after {
margin-right: -(@timeline-line-width / 2);
}
// Content padding
.timeline-row,
.timeline-date {
padding-right: (@timeline-icon-size + @line-height-computed);
}
}
// Reduce date vertical spacing in both
.timeline-left .timeline-date,
.timeline-right .timeline-date {
padding-top: (@line-height-computed / 2);
padding-bottom: (@line-height-computed / 2);
}
// Icon
// ------------------------------
// Base
.timeline-icon {
position: absolute;
top: (@line-height-computed / 2);
&:after {
content: "";
position: absolute;
top: 50%;
margin-top: -(@timeline-line-width / 2);
height: @timeline-line-width;
width: ((@timeline-icon-size / 2) - (@timeline-icon-border-width * 2));
background-color: @timeline-line-color;
z-index: 1;
}
}
// In left layout
.timeline-left {
.timeline-icon {
left: 0;
&:after {
left: 100%;
margin-left: @timeline-icon-border-width;
}
}
}
// In right layout
.timeline-right {
.timeline-icon {
right: 0;
&:after {
right: 100%;
margin-right: @timeline-icon-border-width;
}
}
}
// In centered layout
.timeline-center {
// Row
.timeline-row {
&:not(.post-full) .timeline-icon {
left: 100%;
margin-left: -(@timeline-icon-size / 2);
}
&.post-even .timeline-icon {
left: auto;
right: 100%;
margin-left: 0;
margin-right: -(@timeline-icon-size / 2);
}
}
// Left horizontal line
.timeline-icon:after {
right: 100%;
margin-right: @timeline-icon-border-width;
}
// Right horizontal line
.post-even .timeline-icon:after {
left: 100%;
margin-left: @timeline-icon-border-width;
}
// Full width post
.post-full .timeline-icon {
position: static;
&:after {
content: none;
}
}
}
// Time
// ------------------------------
.timeline-time {
padding: 0;
text-align: inherit;
background-color: transparent;
&:before {
content: none;
}
}
// In left and right layouts
.timeline-left,
.timeline-right {
.timeline-time {
padding-top: (@line-height-computed / 2);
margin-bottom: (@line-height-computed);
padding-left: (@line-height-computed / 2);
}
}
.timeline-right .timeline-time {
text-align: right;
padding-left: 0;
padding-right: (@line-height-computed / 2);
}
// In center layout
.timeline-center {
.timeline-time,
.post-full .timeline-time {
position: absolute;
left: 100%;
top: ((@line-height-computed / 2) + 5);
width: 100%;
padding-left: (@timeline-icon-size - @timeline-icon-border-width);
}
.post-even,
.post-full {
.timeline-time {
left: auto;
right: 100%;
padding-left: 0;
padding-right: (@timeline-icon-size - @timeline-icon-border-width);
text-align: right;
}
}
.post-full .timeline-time {
right: 50%;
top: ((@line-height-computed / 2) - 5);
}
}
}