Created
March 15, 2021 18:17
-
-
Save rscircus/fedac40d7ec3f40a70d5af39a5aa10a8 to your computer and use it in GitHub Desktop.
Tufte Style CSS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @charset "UTF-8"; | |
| /* Import ET Book styles | |
| adapted from https://github.com/edwardtufte/https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/blob/gh-pages/et-book.css */ | |
| @font-face { font-family: "et-book"; | |
| src: url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot"); | |
| src: url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-roman-line-figures/et-book-roman-line-figures.eot?#iefix") format("embedded-opentype"), url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-roman-line-figures/et-book-roman-line-figures.woff") format("woff"), url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-roman-line-figures/et-book-roman-line-figures.ttf") format("truetype"), url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-roman-line-figures/et-book-roman-line-figures.svg#etbookromanosf") format("svg"); | |
| font-weight: normal; | |
| font-style: normal; } | |
| @font-face { font-family: "et-book"; | |
| src: url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot"); | |
| src: url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.eot?#iefix") format("embedded-opentype"), url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.woff") format("woff"), url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.ttf") format("truetype"), url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-display-italic-old-style-figures/et-book-display-italic-old-style-figures.svg#etbookromanosf") format("svg"); | |
| font-weight: normal; | |
| font-style: italic; } | |
| @font-face { font-family: "et-book"; | |
| src: url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot"); | |
| src: url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-bold-line-figures/et-book-bold-line-figures.eot?#iefix") format("embedded-opentype"), url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-bold-line-figures/et-book-bold-line-figures.woff") format("woff"), url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-bold-line-figures/et-book-bold-line-figures.ttf") format("truetype"), url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-bold-line-figures/et-book-bold-line-figures.svg#etbookromanosf") format("svg"); | |
| font-weight: bold; | |
| font-style: normal; } | |
| @font-face { font-family: "et-book-roman-old-style"; | |
| src: url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot"); | |
| src: url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.eot?#iefix") format("embedded-opentype"), url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.woff") format("woff"), url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.ttf") format("truetype"), url("https://cdnjs.cloudflare.com/ajax/libs/tufte-css/1.7.2/et-book/et-book-roman-old-style-figures/et-book-roman-old-style-figures.svg#etbookromanosf") format("svg"); | |
| font-weight: normal; | |
| font-style: normal; } | |
| /* Tufte CSS styles */ | |
| html { font-size: 15px; } | |
| body { width: 87.5%; | |
| margin-left: auto; | |
| margin-right: auto; | |
| padding-left: 12.5%; | |
| font-family: et-book, Palatino, "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif; | |
| background-color: #ffffff; | |
| color: #111; | |
| max-width: 1400px; | |
| counter-reset: sidenote-counter; } | |
| h1 { font-weight: 400; | |
| margin-top: 4rem; | |
| margin-bottom: 1.5rem; | |
| font-size: 3.2rem; | |
| line-height: 1; } | |
| h2 { font-style: italic; | |
| font-weight: 400; | |
| margin-top: 2.1rem; | |
| margin-bottom: 1.4rem; | |
| font-size: 2.2rem; | |
| line-height: 1; } | |
| h3 { font-style: italic; | |
| font-weight: 400; | |
| font-size: 1.7rem; | |
| margin-top: 2rem; | |
| margin-bottom: 1.4rem; | |
| line-height: 1; } | |
| hr { width: 55%; | |
| margin: 5rem 0; } | |
| p.subtitle { font-style: italic; | |
| margin-top: 1rem; | |
| margin-bottom: 1rem; | |
| font-size: 1.8rem; | |
| display: block; | |
| line-height: 1; } | |
| .numeral { font-family: et-book-roman-old-style; } | |
| .danger { color: red; } | |
| article { position: relative; | |
| padding: 4rem 0rem; } | |
| .header { font-size: 1.4rem; | |
| width: 55%; } | |
| .footer { font-size: 1.4rem; | |
| width: 55%; | |
| padding-bottom: 2rem;} | |
| section { padding-top: 1rem; | |
| padding-bottom: 1rem; } | |
| article h2 { | |
| padding-top: 3rem; | |
| } | |
| p, ol, ul { font-size: 1.4rem; | |
| line-height: 2rem; } | |
| p { margin-top: 1.4rem; | |
| margin-bottom: 1.4rem; | |
| padding-right: 0; | |
| vertical-align: baseline; } | |
| /* Chapter Epigraphs */ | |
| div.epigraph { margin: 5em 0; } | |
| div.epigraph > blockquote { margin-top: 3em; | |
| margin-bottom: 3em; } | |
| div.epigraph > blockquote, div.epigraph > blockquote > p { font-style: italic; } | |
| div.epigraph > blockquote > footer { font-style: normal; } | |
| div.epigraph > blockquote > footer > cite { font-style: italic; } | |
| /* end chapter epigraphs styles */ | |
| blockquote { font-size: 1.4rem; } | |
| blockquote p { width: 55%; | |
| margin-right: 40px; } | |
| blockquote footer { width: 55%; | |
| font-size: 1.1rem; | |
| text-align: right; } | |
| section > p, section > footer, section > table { width: 55%; } | |
| th { text-align: left; } | |
| /* 50 + 5 == 55, to be the same width as paragraph */ | |
| section > ol, section > ul { width: 50%; | |
| -webkit-padding-start: 5%; } | |
| li:not(:first-child) { margin-top: 0.25rem; } | |
| figure { padding: 0; | |
| border: 0; | |
| font-size: 100%; | |
| font: inherit; | |
| vertical-align: baseline; | |
| max-width: 55%; | |
| -webkit-margin-start: 0; | |
| -webkit-margin-end: 0; | |
| margin: 0 0 3em 0; } | |
| figcaption { float: right; | |
| clear: right; | |
| margin-top: 0; | |
| margin-bottom: 0; | |
| font-size: 1.1rem; | |
| line-height: 1.6; | |
| vertical-align: baseline; | |
| position: relative; | |
| max-width: 40%; } | |
| figure.fullwidth figcaption { margin-right: 24%; } | |
| /* Links: replicate underline that clears descenders */ | |
| a:link, a:visited { color: inherit; } | |
| a:link { text-decoration: none; | |
| background: -webkit-linear-gradient(#ffffff, #ffffff), -webkit-linear-gradient(#ffffff, #ffffff), -webkit-linear-gradient(#333, #333); | |
| background: linear-gradient(#ffffff, #ffffff), linear-gradient(#ffffff, #ffffff), linear-gradient(#333, #333); | |
| -webkit-background-size: 0.05em 1px, 0.05em 1px, 1px 1px; | |
| -moz-background-size: 0.05em 1px, 0.05em 1px, 1px 1px; | |
| background-size: 0.05em 1px, 0.05em 1px, 1px 1px; | |
| background-repeat: no-repeat, no-repeat, repeat-x; | |
| text-shadow: 0.03em 0 #ffffff, -0.03em 0 #ffffff, 0 0.03em #ffffff, 0 -0.03em #ffffff, 0.06em 0 #ffffff, -0.06em 0 #ffffff, 0.09em 0 #ffffff, -0.09em 0 #ffffff, 0.12em 0 #ffffff, -0.12em 0 #ffffff, 0.15em 0 #ffffff, -0.15em 0 #ffffff; | |
| background-position: 0% 93%, 100% 93%, 0% 93%; } | |
| @media screen and (-webkit-min-device-pixel-ratio: 0) { a:link { background-position-y: 87%, 87%, 87%; } } | |
| a:link::selection { text-shadow: 0.03em 0 #b4d5fe, -0.03em 0 #b4d5fe, 0 0.03em #b4d5fe, 0 -0.03em #b4d5fe, 0.06em 0 #b4d5fe, -0.06em 0 #b4d5fe, 0.09em 0 #b4d5fe, -0.09em 0 #b4d5fe, 0.12em 0 #b4d5fe, -0.12em 0 #b4d5fe, 0.15em 0 #b4d5fe, -0.15em 0 #b4d5fe; | |
| background: #b4d5fe; } | |
| a:link::-moz-selection { text-shadow: 0.03em 0 #b4d5fe, -0.03em 0 #b4d5fe, 0 0.03em #b4d5fe, 0 -0.03em #b4d5fe, 0.06em 0 #b4d5fe, -0.06em 0 #b4d5fe, 0.09em 0 #b4d5fe, -0.09em 0 #b4d5fe, 0.12em 0 #b4d5fe, -0.12em 0 #b4d5fe, 0.15em 0 #b4d5fe, -0.15em 0 #b4d5fe; | |
| background: #b4d5fe; } | |
| /* Sidenotes, margin notes, figures, captions */ | |
| img { max-width: 100%; } | |
| .sidenote, .marginnote { float: right; | |
| clear: right; | |
| margin-right: -60%; | |
| width: 50%; | |
| margin-top: 0; | |
| margin-bottom: 0; | |
| font-size: 1.1rem; | |
| line-height: 1.3; | |
| vertical-align: baseline; | |
| position: relative; } | |
| .sidenote-number { counter-increment: sidenote-counter; } | |
| .sidenote-number:after, .sidenote:before { font-family: et-book-roman-old-style; | |
| position: relative; | |
| vertical-align: baseline; } | |
| .sidenote-number:after { content: counter(sidenote-counter); | |
| font-size: 1rem; | |
| top: -0.5rem; | |
| left: 0.1rem; } | |
| .sidenote:before { content: counter(sidenote-counter) " "; | |
| font-size: 1rem; | |
| top: -0.5rem; } | |
| blockquote .sidenote, blockquote .marginnote { margin-right: -82%; | |
| min-width: 59%; | |
| text-align: left; } | |
| div.fullwidth, table.fullwidth { width: 100%; } | |
| div.textwidth { width: 55%; } | |
| div.table-wrapper { overflow-x: auto; | |
| font-family: "Trebuchet MS", "Gill Sans", "Gill Sans MT", sans-serif; } | |
| .sans { font-family: "Gill Sans", "Gill Sans MT", Calibri, sans-serif; | |
| letter-spacing: .03em; } | |
| code, pre { font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; | |
| font-size: 1.0rem; | |
| line-height: 1.42; } | |
| table { font-size: 1.4rem; } | |
| .sans > code { font-size: 1.2rem; } | |
| h1 > code, h2 > code, h3 > code { font-size: 0.80em; } | |
| .marginnote > code, .sidenote > code { font-size: 1rem; } | |
| pre.code { font-size: 0.9rem; | |
| width: 52.5%; | |
| margin-left: 2.5%; | |
| overflow-x: auto; } | |
| pre.code.fullwidth { width: 90%; } | |
| .fullwidth { max-width: 90%; | |
| clear:both; } | |
| span.newthought { font-variant: small-caps; | |
| font-size: 1.2em; } | |
| input.margin-toggle { display: none; } | |
| label.sidenote-number { display: inline; } | |
| label.margin-toggle:not(.sidenote-number) { display: none; } | |
| .iframe-wrapper { position: relative; | |
| padding-bottom: 56.25%; /* 16:9 */ | |
| padding-top: 25px; | |
| height: 0; } | |
| .iframe-wrapper iframe { position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; } | |
| @media (max-width: 760px) { body { width: 84%; | |
| padding-left: 8%; | |
| padding-right: 8%; } | |
| hr, section > p, section > footer, section > table { width: 100%; } | |
| pre.code { width: 97%; } | |
| section > ol { width: 90%; } | |
| section > ul { width: 90%; } | |
| figure { max-width: 90%; } | |
| figcaption, figure.fullwidth figcaption { margin-right: 0%; | |
| max-width: none; } | |
| blockquote { margin-left: 1.5em; | |
| margin-right: 0em; } | |
| blockquote p, blockquote footer { width: 100%; } | |
| label.margin-toggle:not(.sidenote-number) { display: inline; } | |
| .sidenote, .marginnote { display: none; } | |
| .margin-toggle:checked + .sidenote, | |
| .margin-toggle:checked + .marginnote { display: block; | |
| float: left; | |
| left: 1rem; | |
| clear: both; | |
| width: 95%; | |
| margin: 1rem 2.5%; | |
| vertical-align: baseline; | |
| position: relative; } | |
| label { cursor: pointer; } | |
| div.table-wrapper, table { width: 85%; } | |
| div.textwidth { width: 100%; } | |
| img { width: 100%; } } | |
| /* TOC */ | |
| .toc ol { counter-reset: item } | |
| .toc li { display: block } | |
| .toc li:before { content: counters(item, ".") ". "; counter-increment: item } | |
| /* KaTeX */ | |
| .katex { font-size: 1em !important; } | |
| /* Flashcards */ | |
| .flash_row { | |
| display:flex; | |
| flex-wrap:wrap; | |
| flex-direction:row; | |
| justify-content:flex-start; | |
| align-items:stretch; | |
| width: 55%; | |
| } | |
| .flash_row .left {order:1; flex-basis:100%; } | |
| .flash_row .right {order:2; flex-basis:100%; } | |
| @media screen and (min-width: 800px) { | |
| .flash_row { | |
| flex-wrap:nowrap; | |
| } | |
| .flash_row .left { flex-basis:1; order:1; } | |
| .flash_row .right { flex-basis:1; order:2; margin-left: 10px; } | |
| } | |
| .flash_row .left, .flash_row .right { | |
| border: 1px solid black; | |
| border-radius: 3px; | |
| margin-bottom: 10px; | |
| height: 200px; | |
| min-width: 300px; | |
| padding: 10px; | |
| position: relative; | |
| } | |
| .flash_row .title { | |
| font-size: 1.4rem; | |
| font-weight: bold; | |
| } | |
| .flash_row .subtitle { | |
| font-size: 1.2rem; | |
| font-style: italic; | |
| margin-bottom: 20px; | |
| } | |
| .flash_row .desc { | |
| font-size: 1.2rem; | |
| margin-bottom: 10px; | |
| } | |
| .flash_row .tech { | |
| font-family: sans-serif; | |
| font-size: 1rem; | |
| bottom: 10px; | |
| position: absolute; | |
| } | |
| .flash_row .tech .tag { margin-right: 10px; } | |
| .flash_row .blob { | |
| width: 0.8rem; | |
| height: 0.8rem; | |
| display: inline-block; | |
| border-radius: 50%; | |
| margin-right: 5px; | |
| } | |
| .flash_row .blob.c { background: #555555; } | |
| .flash_row .blob.cpp { background: #F34B7D; } | |
| .flash_row .blob.cs { background: #178600; } | |
| .flash_row .blob.cuda { background: #4D694D; } | |
| .flash_row .blob.dx { background: #A5C16D; } | |
| .flash_row .blob.gl { background: #5586A4; } | |
| .flash_row .blob.other { background: #CCCCCC; } | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment