Files
blog_os/blog/static/css/main.css
Philipp Oppermann 6055a2e342 Add an inline table of contents for small screens
This ToC is only shown when the screen is too small for the sticky sidebar ToC.

We use a `<!-- toc -->` comment and the `replace` function to allow inserting the ToC at well defined points of the page. We don't use the shortcode feature of Zola because of https://github.com/getzola/zola/issues/584.
2019-03-19 12:58:15 +01:00

338 lines
4.6 KiB
CSS

.masthead-title {
font-size: 1.25rem;
display: inline;
}
.masthead p {
font-size: 1.25rem;
display: inline;
margin: 0;
margin-left: 1rem;
padding: 0;
line-height: 1;
}
.front-page-introduction {
margin-bottom: 2rem;
}
.navigation {
float: right;
}
.navigation img {
height: 1em;
vertical-align: baseline;
display: inline-block;
margin: 0;
padding: 0;
border-radius: 0;
}
main img {
max-width: 100%;
margin: auto;
}
.post {
margin-bottom: 2em;
}
.post:last-child {
margin-bottom: 0em;
}
.posts {
padding: 1.5rem 1rem 0.5rem 1rem;
border-radius: 10px;
margin-bottom: 2rem;
margin-left: -0.5rem;
margin-right: -0.5rem;
}
.posts.neutral {
border: 2px solid #999;
}
.posts.subscribe {
border: 2px solid #aaa;
}
.posts.first-edition {
border: 2px solid #aaa;
background-color: #99ff0022;
}
.posts.bare-bones {
border: 2px solid #66f;
}
.posts.testing {
border: 2px solid #0a0;
}
.posts.memory-management {
border: 2px solid #fc0
}
.posts.exceptions {
border: 2px solid #f66;
}
.posts hr {
margin: 2rem 0;
}
.post-summary {
margin-bottom: 1rem;
}
.post-summary p {
display: inline;
}
.read-more {
margin-left: 5px;
}
.post-category {
margin-right: 0.5rem;
text-transform: uppercase;
font-size: 0.8rem;
text-align: right;
}
.post-category.bare-bones {
color: #55d;
}
.post-category.testing {
color: #090;
}
.post-category.memory-management {
color: #990;
}
.post-category.exceptions {
color: #f33;
}
.post-footer-support, .post-footer-support > h2 {
color: #888;
}
.PageNavigation {
font-size: 0.9em;
display: table;
width: 100%;
overflow: hidden;
}
.PageNavigation a {
display: table-cell;
}
.PageNavigation .previous {
text-align: left;
}
.PageNavigation .next {
text-align: right;
}
footer.footer {
margin-top: 1rem;
margin-bottom: 1rem;
}
.footnotes {
font-size: 85%;
}
.footnotes li {
margin-bottom: 1rem;
}
sup, sub {
line-height: 0;
}
a.anchorjs-link:hover {
text-decoration: none;
}
#toc-aside {
display: none;
}
aside#all-posts-link {
font-size: 90%;
margin-top: 0.5rem;
}
@media (min-width: 80rem) {
#toc-inline {
display: none;
}
#toc-aside {
display: block;
width: 12rem;
position: sticky;
float: left;
top: 1rem;
margin-top: -4rem;
margin-left: -15rem;
font-size: 90%;
line-height: 1.2;
opacity: .5;
transition: opacity .5s;
}
#toc-aside:hover {
opacity: 1;
}
#toc-aside h2 {
font-size: 110%;
margin-bottom: .2rem;
}
#toc-aside ol {
margin: 0 0 .2rem 0;
padding: 0 0 0 1rem;
list-style:none;
}
#toc-aside ol li:before {
content: "";
border-color: transparent #008eef;
border-style: solid;
border-width: 0.35em 0 0.35em 0.45em;
display: block;
height: 0;
width: 0;
left: -1em;
top: 0.9em;
position: relative;
}
#toc-aside.coarse li ol {
display: none;
}
aside#recent-updates {
position: absolute;
max-width: 17rem;
top: 4rem;
margin-left: 45rem;
margin-right: 2rem;
font-size: 90%;
}
aside#recent-updates h2 {
font-size: 110%;
margin-bottom: .2rem;
}
aside#recent-updates ul {
margin: 0 0 .2rem 0;
padding: 0 0 0 1rem;
}
aside#recent-updates ul li {
margin-top: .5rem;
}
aside#all-posts-link {
float: left;
position: absolute;
bottom: 0;
left: -15rem;
margin-top: 0;
}
}
aside#recent-updates time {
color: #9a9a9a;
}
a code {
color: #268bd2;
}
a.zola-anchor {
opacity: 0;
position: absolute;
margin-left: -1.5em;
padding-right: 1em;
font-size: 0.6em;
vertical-align: baseline;
line-height: 2em;
}
:hover>a.zola-anchor {
opacity: 1;
text-decoration: none;
}
a.zola-anchor:hover {
text-decoration: none;
}
div.note {
padding: .7rem 1rem;
margin: 1rem .2rem;
border: 2px solid #99ff99;
border-radius: 5px;
background-color: #99ff0022;
}
div.warning {
padding: .7rem 1rem;
margin: 1rem .2rem;
border: 2px solid orange;
border-radius: 5px;
background-color: #ffa50022;
}
form.subscribe {
margin: 1rem;
}
div.subscribe-fields {
display: flex;
}
form.subscribe input {
padding: .5rem;
border: 1px solid #e5e5e5;
}
form.subscribe input[type=email] {
flex: 1;
}
form.subscribe input[type=submit] {
padding: .25rem .5rem;
cursor: pointer;
}
/* Asides */
aside.post_aside {
font-style: italic;
padding: 0rem 1rem 0rem;
margin: .8rem 0;
border-left: .1rem solid #e5e5e5;
border-right: .1rem solid #e5e5e5;
}
details summary {
cursor: pointer;
}
details summary h3, details summary h4, details summary h5, details summary h6 {
display: inline;
}