Agenda: style.css

File style.css, 10.5 KB (added by b.candler, 5 years ago)
Line 
1/*
2    Buttondown
3    A Markdown/MultiMarkdown/Pandoc HTML output CSS stylesheet
4    Author: Ryan Gray
5    Date: 15 Feb 2011
6    Revised: 21 Feb 2012
7   
8    General style is clean, with minimal re-definition of the defaults or
9    overrides of user font settings. The body text and header styles are
10    left alone except title, author and date classes are centered. A Pandoc TOC
11    is not printed, URLs are printed after hyperlinks in parentheses.
12    Block quotes are italicized. Tables are lightly styled with lines above
13    and below the table and below the header with a boldface header. Code
14    blocks are line wrapped.
15 
16    All elements that Pandoc and MultiMarkdown use should be listed here, even
17    if the style is empty so you can easily add styling to anything.
18   
19    There are some elements in here for HTML5 output of Pandoc, but I have not
20    gotten around to testing that yet.
21*/
22 
23/* NOTES:
24 
25    Stuff tried and failed:
26   
27    It seems that specifying font-family:serif in Safari will always use
28    Times New Roman rather than the user's preferences setting.
29   
30    Making the font size different or a fixed value for print in case the screen
31    font size is making the print font too big: Making font-size different for
32    print than for screen causes horizontal lines to disappear in math when using
33    MathJax under Safari.
34*/
35 
36/* ---- Front Matter ---- */
37 
38/* Pandoc header DIV. Contains .title, .author and .date. Comes before div#TOC.
39   Only appears if one of those three are in the document.
40*/
41 
42div#header, header
43    {
44    /* Put border on bottom. Separates it from TOC or body that comes after it. */
45    border-bottom: 1px solid #aaa;
46    margin-bottom: 0.5em;
47    }
48 
49.title /* Pandoc title header (h1.title) */
50    {
51    text-align: center;
52    }
53 
54.author, .date /* Pandoc author(s) and date headers (h2.author and h3.date) */
55    {
56    text-align: center;
57    }
58 
59/* Pandoc table of contents DIV when using the --toc option.
60   NOTE: this doesn't support Pandoc's --id-prefix option for #TOC and #header.
61   Probably would need to use div[id$='TOC'] and div[id$='header'] as selectors.
62*/
63 
64div#TOC, nav#TOC
65    {
66    /* Put border on bottom to separate it from body. */
67    border-bottom: 1px solid #aaa;
68    margin-bottom: 0.5em;
69    }
70 
71@media print
72    {
73    div#TOC, nav#TOC
74        {
75        /* Don't display TOC in print */
76        display: none;
77        }
78    }
79 
80/* ---- Headers and sections ---- */
81 
82h1, h2, h3, h4, h5, h6
83{
84    font-family: "Helvetica Neue", Helvetica, "Liberation Sans", Calibri, Arial, sans-serif; /* Sans-serif headers */
85 
86    /* font-family: "Liberation Serif", "Georgia", "Times New Roman", serif; /* Serif headers */
87 
88    page-break-after: avoid; /* Firefox, Chrome, and Safari do not support the property value "avoid" */
89}
90 
91/* Pandoc with --section-divs option */
92 
93div div, section section /* Nested sections */
94    {
95    margin-left: 2em; /* This will increasingly indent nested header sections */
96    }
97 
98p {}
99 
100blockquote
101    { 
102    font-style: italic;
103    }
104 
105li /* All list items */
106    {
107    }
108 
109li > p /* Loosely spaced list item */
110    {
111    margin-top: 1em; /* IE: lack of space above a <li> when the item is inside a <p> */
112    }
113 
114ul /* Whole unordered list */
115    {
116    }
117 
118ul li /* Unordered list item */
119    {
120    }
121 
122ol /* Whole ordered list */
123    {
124    }
125 
126ol li /* Ordered list item */
127    {
128    }
129 
130hr {}
131 
132/* ---- Some span elements --- */
133 
134sub /* Subscripts. Pandoc: H~2~O */
135    {
136    }
137 
138sup /* Superscripts. Pandoc: The 2^nd^ try. */
139    {
140    }
141   
142em /* Emphasis. Markdown: *emphasis* or _emphasis_ */
143    {
144    }
145   
146em > em /* Emphasis within emphasis: *This is all *emphasized* except that* */
147    {
148    font-style: normal;
149    }
150 
151strong /* Markdown **strong** or __strong__ */
152    {
153    }
154 
155/* ---- Links (anchors) ---- */
156 
157a /* All links */
158    {
159    /* Keep links clean. On screen, they are colored; in print, they do nothing anyway. */
160    text-decoration: none;
161    }
162 
163@media screen
164    {
165    a:hover
166        {
167        /* On hover, we indicate a bit more that it is a link. */
168        text-decoration: underline;
169        }
170    }
171 
172@media print
173    {
174    a   {
175        /* In print, a colored link is useless, so un-style it. */
176        color: black;
177        background: transparent;
178        }
179       
180    a[href^="http://"]:after, a[href^="https://"]:after
181        {
182        /* However, links that go somewhere else, might be useful to the reader,
183           so for http and https links, print the URL after what was the link
184           text in parens
185        */
186        content: " (" attr(href) ") ";
187        font-size: 90%;
188        }
189    }
190 
191/* ---- Images ---- */
192 
193img
194    {
195    /* Let it be inline left/right where it wants to be, but verticality make
196       it in the middle to look nicer, but opinions differ, and if in a multi-line
197       paragraph, it might not be so great.
198    */
199    vertical-align: middle;
200    }
201 
202div.figure /* Pandoc figure-style image */
203    {
204    /* Center the image and caption */
205    margin-left: auto;
206    margin-right: auto;
207    text-align: center;
208    font-style: italic;
209    }
210 
211p.caption /* Pandoc figure-style caption within div.figure */
212    {
213    /* Inherits div.figure props by default */
214    }
215 
216/* ---- Code blocks and spans ---- */
217 
218pre, code 
219    {
220    background-color: #fdf7ee;
221    /* BEGIN word wrap */
222    /* Need all the following to word wrap instead of scroll box */
223    /* This will override the overflow:auto if present */
224    white-space: pre-wrap; /* css-3 */
225    white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
226    white-space: -pre-wrap; /* Opera 4-6 */
227    white-space: -o-pre-wrap; /* Opera 7 */
228    word-wrap: break-word; /* Internet Explorer 5.5+ */
229    /* END word wrap */
230    }
231 
232pre /* Code blocks */
233    {
234    /* Distinguish pre blocks from other text by more than the font with a background tint. */
235    padding: 0.5em; /* Since we have a background color */
236    border-radius: 5px; /* Softens it */
237    /* Give it a some definition */
238    border: 1px solid #aaa;
239    /* Set it off left and right, seems to look a bit nicer when we have a background */
240    margin-left:  0.5em;
241    margin-right: 0.5em;
242    }
243 
244@media screen
245    {
246    pre
247        {
248        /* On screen, use an auto scroll box for long lines, unless word-wrap is enabled */
249        white-space: pre;
250        overflow: auto;
251        /* Dotted looks better on screen and solid seems to print better. */
252        border: 1px dotted #777;
253        }
254    }
255 
256code /* All inline code spans */
257    {
258    }
259 
260p > code, li > code /* Code spans in paragraphs and tight lists */
261    {
262    /* Pad a little from adjacent text */
263    padding-left:  2px;
264    padding-right: 2px;
265    }
266   
267li > p code /* Code span in a loose list */
268    {
269    /* We have room for some more background color above and below */
270    padding: 2px;
271    }
272 
273/* ---- Math ---- */
274 
275span.math /* Pandoc inline math default and --jsmath inline math */
276    {
277    /* Tried font-style:italic here, and it messed up MathJax rendering in some browsers. Maybe don't mess with at all. */
278    }
279   
280div.math /* Pandoc --jsmath display math */
281    {
282    }
283   
284span.LaTeX /* Pandoc --latexmathml math */
285    {
286    } 
287 
288eq /* Pandoc --gladtex math */
289    {
290    } 
291 
292/* ---- Tables ---- */
293 
294/*  A clean textbook-like style with horizontal lines above and below and under
295    the header. Rows highlight on hover to help scanning the table on screen.
296*/
297 
298table
299    {
300    border-collapse: collapse;
301    border-spacing: 0; /* IE 6 */
302 
303    border-bottom: 2pt solid #000;
304    border-top: 2pt solid #000; /* The caption on top will not have a bottom-border */
305 
306    /* Center */
307    margin-left: auto;
308    margin-right: auto;
309    }
310   
311thead /* Entire table header */
312    {
313    border-bottom: 1pt solid #000;
314    background-color: #eee; /* Does this BG print well? */
315    }
316 
317tr.header /* Each header row */
318    {
319    } 
320 
321tbody /* Entire table  body */
322    {
323    }
324 
325/* Table body rows */
326 
327tr  {
328    }
329tr.odd:hover, tr.even:hover /* Use .odd and .even classes to avoid styling rows in other tables */
330    {
331    background-color: #eee;
332    }
333   
334/* Odd and even rows */
335tr.odd {}
336tr.even {}
337 
338td, th /* Table cells and table header cells */
339    { 
340    vertical-align: top; /* Word */
341    vertical-align: baseline; /* Others */
342    padding-left:   0.5em;
343    padding-right:  0.5em;
344    padding-top:    0.2em;
345    padding-bottom: 0.2em;
346    }
347   
348/* Removes padding on left and right of table for a tight look. Good if thead has no background color*/
349/*
350tr td:last-child, tr th:last-child
351    {
352    padding-right: 0;
353    }
354tr td:first-child, tr th:first-child
355    {
356    padding-left: 0;
357    }
358*/
359 
360th /* Table header cells */
361    {
362    font-weight: bold; 
363    }
364 
365tfoot /* Table footer (what appears here if caption is on top?) */
366    {
367    }
368 
369caption /* This is for a table caption tag, not the p.caption Pandoc uses in a div.figure */
370    {
371    caption-side: top;
372    border: none;
373    font-size: 0.9em;
374    font-style: italic;
375    text-align: center;
376    margin-bottom: 0.3em; /* Good for when on top */
377    padding-bottom: 0.2em;
378    }
379 
380/* ---- Definition lists ---- */
381 
382dl /* The whole list */
383    {
384    border-top: 2pt solid black;
385    padding-top: 0.5em;
386    border-bottom: 2pt solid black;
387    }
388 
389dt /* Definition term */
390    {
391    font-weight: bold;
392    }
393 
394dd+dt /* 2nd or greater term in the list */
395    {
396    border-top: 1pt solid black;
397    padding-top: 0.5em;
398    }
399   
400dd /* A definition */
401    {
402    margin-bottom: 0.5em;
403    }
404 
405dd+dd /* 2nd or greater definition of a term */
406    {
407    border-top: 1px solid black; /* To separate multiple definitions */
408    }
409   
410/* ---- Footnotes ---- */
411 
412a.footnote, a.footnoteRef { /* Pandoc, MultiMarkdown footnote links */
413    font-size: small; 
414    vertical-align: text-top;
415}
416 
417a[href^="#fnref"], a.reversefootnote /* Pandoc, MultiMarkdown, ?? footnote back links */
418    {
419    }
420 
421@media print
422    {
423    a[href^="#fnref"], a.reversefootnote /* Pandoc, MultiMarkdown */
424        {
425        /* Don't display these at all in print since the arrow is only something to click on */
426        display: none;
427        }
428    }
429   
430div.footnotes /* Pandoc footnotes div at end of the document */
431    {
432    }
433   
434div.footnotes li[id^="fn"] /* A footnote item within that div */
435    {
436    }
437 
438/* You can class stuff as "noprint" to not print.
439   Useful since you can't set this media conditional inside an HTML element's
440   style attribute (I think), and you don't want to make another stylesheet that
441   imports this one and adds a class just to do this.
442*/
443 
444@media print
445    {
446    .noprint
447        {
448        display:none;
449        }
450    }