codepens/tracked-session-schedule-wi.../dist/style.css

163 lines
2.5 KiB
CSS

/*************************
* LAYOUT
*************************/
body {
padding: 50px;
counter-reset: session;
max-width: 1100px;
margin: 0 auto;
line-height: 1.5;
}
.track-slot {
display: none;
}
.session {
margin-bottom: 1em;
}
@supports( display:grid ) {
@media screen and (min-width:700px) {
.schedule {
display: grid;
}
/* a background for the sticky tracks */
.schedule::after {
display: block;
content: '';
position: -webkit-sticky;
position: sticky;
top: 0;
grid-column: track-1 / -1;
grid-row: tracks;
z-index: 999;
background-color: rgba(255,255,255,.9);
}
.track-slot {
display: block;
padding: 10px 5px 5px;
position: -webkit-sticky;
position: sticky;
top: 0; /* otherwise seeing a gap above in at least Firefox. */
z-index: 1000;
}
.session {
margin: 0;
}
}
}
.schedule {
grid-gap: 1em;
grid-template-rows:
[tracks] auto
[time-0800] 1fr
[time-0830] 1fr
[time-0900] 1fr
[time-0930] 1fr
[time-1000] 1fr
[time-1030] 1fr
[time-1100] 1fr
[time-1130] 1fr
[time-1200] 1fr
/* Note 1:
In this format, gridlines will need to be "named" in 24hr time
Note 2: Use "auto" instead of "1fr" for a more compact schedule where height of a slot is not proportional to the session length. Implementing a "compact" shortcode attribute might make sense for this!
*/
;
grid-template-columns:
[times] 4em
[track-1-start] 1fr
[track-1-end track-2-start] 1fr
[track-2-end track-3-start] 1fr
[track-3-end track-4-start] 1fr
[track-4-end]
;
}
/*************************
* VISUAL STYLES
*************************/
.text {
max-width: 750px;
font-size: 18px;
margin: 0 auto 50px;
}
.meta {
color: #555;
font-style: italic;
}
.meta a {
color: #555;
}
hr {
margin: 40px 0;
}
.session {
padding: .5em;
border-radius: 2px;
font-size: 14px;
}
.title,
.time-slot {
margin: 0;
font-size: 1em;
}
body {
counter-reset: session-count;
}
.title::before {
counter-increment: session-count;
content: 'Session #' counter(session-count) ': ';
}
.track-slot,
.time-slot {
font-weight: bold;
font-size:.75em;
}
span {
display: block;
}
.track-1 {
background-color: #1259B2;
color: #fff;
}
.track-2 {
background-color: #687f00;
color: #fff;
}
.track-3 {
background-color: #544D69;
color: #fff;
}
.track-4 {
background-color: #c35500;
color: #fff;
}
.track-many {
display: flex;
justify-content: center;
align-items: center;
background: #ccc;
color: #000;
}
ins {
text-decoration: none;
background-color: #ddffdd;
}