hugo-book-theme/assets/book.scss

189 lines
2.9 KiB
SCSS
Raw Normal View History

2018-09-05 16:22:04 +02:00
@import 'variables';
@import 'markdown';
2018-09-05 16:22:04 +02:00
html {
font-size: $font-size-base;
2018-10-22 15:51:20 +02:00
letter-spacing: .3px;
2018-09-05 16:22:04 +02:00
}
html, body {
min-width: $body-min-width;
overflow: hidden auto;
2018-09-05 16:22:04 +02:00
}
body {
2018-09-13 18:07:55 +02:00
color: $body-font-color;
background: $body-background;
font-family: 'Roboto', sans-serif;
font-weight: $body-font-weight;
box-sizing: border-box;
* {
box-sizing: inherit;
}
2018-09-05 16:22:04 +02:00
}
2018-09-28 01:12:07 +02:00
h1, h2, h3, h4, h5 {
font-weight: 400;
}
a {
text-decoration: none;
color: $color-link;
2018-09-24 17:03:23 +02:00
&:visited {
color: $color-visited-link;
}
2018-09-05 16:22:04 +02:00
}
img {
vertical-align: middle;
}
2018-09-28 01:12:07 +02:00
aside {
ul {
margin: 0;
padding-left: $padding-16;
list-style: none;
line-height: 1.5em;
2018-09-13 18:07:55 +02:00
li {
margin: .5em 0;
2018-09-30 01:22:39 +02:00
a { display: block; }
a:hover { opacity: .5; }
img {
height: $padding-16;
}
2018-09-24 17:03:23 +02:00
}
}
2018-09-28 01:12:07 +02:00
// start padding on second level
nav > ul {
padding-left: 0;
}
2018-09-24 17:03:23 +02:00
}
2018-09-28 01:12:07 +02:00
aside.fixed nav {
position: fixed;
top: 0;
bottom: 0;
overflow: hidden auto;
2018-09-05 16:22:04 +02:00
}
header {
display: flex;
align-items:center;
justify-content: space-between;
margin-bottom: $padding-16;
display: none;
}
2018-09-30 01:22:39 +02:00
main {
max-width: $content-max-width;
margin: 0 auto;
2018-09-05 16:22:04 +02:00
display: flex;
flex-flow: row;
2018-09-05 16:22:04 +02:00
2018-09-30 01:22:39 +02:00
aside nav, .content, .markdown {
2018-09-29 11:52:15 +02:00
transition: .2s ease-in-out;
transition-property: transform, margin-left, opacity;
will-change: transform, margin-left;
}
2018-09-05 16:22:04 +02:00
.menu {
flex: 0 0 $nav-menu-width;
2018-09-24 17:03:23 +02:00
2018-09-30 01:22:39 +02:00
.brand {
margin-top: 0;
margin-bottom: $padding-16;
}
nav {
width: $nav-menu-width;
padding: $padding-16;
font-size: $font-size-14;
2018-09-24 17:03:23 +02:00
}
2018-09-30 01:22:39 +02:00
a { color: $nav-link-color; }
a.active { color: $color-link; }
2018-09-28 01:12:07 +02:00
.flat-section {
margin-bottom: $padding-16;
> a { font-weight: 700; }
> ul { padding-left: 0; }
}
}
2018-09-30 01:22:39 +02:00
.content {
flex: 1 0;
width: 0;
min-width: $body-min-width;
padding: $padding-16;
}
2018-09-24 17:03:23 +02:00
.toc {
2018-09-28 01:12:07 +02:00
flex: 0 0 $toc-menu-width;
nav {
2018-09-28 01:12:07 +02:00
width: $toc-menu-width;
padding: $padding-16;
font-size: $font-size-12;
2018-09-24 17:03:23 +02:00
2018-09-28 01:12:07 +02:00
ul ul {
padding-left: $padding-8;
}
}
2018-09-05 16:22:04 +02:00
}
2018-09-24 17:03:23 +02:00
}
2018-09-05 16:22:04 +02:00
// Responsive styles
$menu-hide-point: $nav-menu-width + $body-min-width;
$toc-hide-point: $menu-hide-point + $nav-menu-width;
@media screen and (max-width: $toc-hide-point) {
.toc {
display: none;
2018-09-05 16:22:04 +02:00
}
}
2018-09-05 16:22:04 +02:00
@media screen and (max-width: $menu-hide-point) {
2018-09-24 17:03:23 +02:00
.menu {
margin-left: -$nav-menu-width;
}
2018-09-05 16:22:04 +02:00
2018-09-30 01:22:39 +02:00
main header {
display: flex;
2018-09-05 16:22:04 +02:00
}
2018-09-30 01:22:39 +02:00
#menu-control:checked + main {
.menu nav, .content {
transform: translateX($nav-menu-width);
}
2018-09-30 01:22:39 +02:00
header label img {
transform: rotate(90deg);
}
.markdown {
opacity: .25;
}
2018-09-13 18:07:55 +02:00
}
2018-09-24 17:03:23 +02:00
}
// Extra space for big screens
@media screen and (min-width: $toc-hide-point) {
main {
.content {
padding: $padding-16 * 2 $padding-16;
}
.menu nav, .toc nav {
padding: $padding-16 * 2;
}
}
}