X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/1d6eab5fa03b9b245c50637bae352344f9f53ef5..20944668da222b8510754fb4819b2b21e768840c:/base.css diff --git a/base.css b/base.css index e7c9105..c5a36f2 100644 --- a/base.css +++ b/base.css @@ -33,6 +33,8 @@ caption aside { margin-left: 1ex; font-weight: normal; display: inline; + font-size: 91%; /* 100% */ + margin-top: .3ex; /* align with 110% baseline */ } hr { @@ -99,8 +101,10 @@ ul { } pre { - display: inline-block; text-align: left; + margin: 2ex auto; + white-space: pre-wrap; + overflow-wrap: break-word; } body > pre { width: 78ch; @@ -109,11 +113,18 @@ body > pre { padding: 0 1em; border-width: 0 1px; border-style: solid; + white-space: pre; +} +code { + white-space: nowrap; } +h1 small, h2 small { position: absolute; /* side note; do not influence alignment */ margin-left: 1em; + font-size: 80%; + line-height: 175%; } dl > dt { @@ -129,10 +140,10 @@ dl > dd { /* "keyboard" (list of keys) */ -#rows {margin-top: -5ex} /* top (esc) row fits besides header */ +.row0 {margin-top: -5ex} /* top (esc) row fits besides header */ .row2 {margin-left: 7em} /* row offsets relative to ~6em key width */ .row3 {margin-left: 8em} -.row4 {margin-left: 10em} /* should actually align to next key on row0 */ +.row4 {margin-left: 10em} /* should actually align to next key on row1 */ /* ...however rows>=1 are shifted a bit, to make space */ table.keys tr { @@ -276,6 +287,10 @@ thead td { .glyphs thead td { width: auto; /* no glyph cells in header */ } +.glyphs caption { + margin-left: 2.2em; /* 1ex + offset head column (1.6em + 0.4em) / 110% */ + /* adjusted insignificant -.2em to fit wide contents on /charset/mac */ +} th { padding: 0 0.2em; } @@ -569,12 +584,12 @@ dl.legend dt.more:hover, .keys td.more:hover b { text-shadow: #F20 0 0 0.5em, #FC0 0 0 0.2em; } -dl.legend dt.ext, -.keys td.ext { - border-style: dashed; -} dl.legend dt.new, .keys td.new { + border-style: dashed; +} +dl.legend dt.ext, +.keys td.ext { opacity: .6; } @@ -650,6 +665,78 @@ ul.legend-set li { padding: 0 0.2em; } +/* images */ + +figure { + margin: 0; + position: relative; +} +figcaption { + position: absolute; + padding: 0 1em; + color: #000; + background: rgba(255, 255, 255, .66); + right: 0; + bottom: 0; +} +img { + vertical-align: bottom; + width: 100%; +} + +/* image gallery */ + +.gallery { + display: grid; + grid: auto-flow dense / repeat(auto-fit, minmax(200px, 1fr)); + grid-gap: 1px; +} +.gallery li, .gallery ul { + display: contents; +} +.gallery figure { + overflow: hidden; + box-sizing: border-box; +} +.gallery figcaption > small { + display: inline-block; +} + +@media (min-width: 403px) and (min-height: 266px) { + /* able to fit 2 cells of 200x133 */ + .gallery li.large > figure { + grid-row: span 2; + grid-column: span 2; + } +} +@media (min-width: 603px) and (min-height: 400px) { + /* fit 3 cells of 200x133 */ + .gallery > ul > li:first-child > figure, + .gallery li.huge > figure { + grid-row: span 3; + grid-column: span 3; + } +} + +.gallery figure, .gallery figcaption { + transition: all .5s ease-in; +} +.gallery figure:hover ~ ul figcaption { + /* mark all children */ + color: #FFF; + background: rgba(0, 0, 0, .5); +} + +.gallery li.parent:hover > figure > figcaption, +.gallery figure:hover > figcaption { + /* highlight title of current and parents */ + font-size: 175%; + right: 50%; + bottom: 50%; + transform: translate(50%, 50%); + margin-left: -60%; /* keep width */ +} + /* page-specific */ #browser td > a { @@ -713,6 +800,69 @@ nav > .section { margin-top: 1em; } +.units tbody tr:hover:not(.race) { + background: #EEE; +} +.unit-gas { + color: #040; +} +.unit-min, .unit-min a:not(:hover) { + color: #004; +} +.unit-supply { + color: #080; +} +.unit-o {color: #C08} /* organic */ +.unit-u {color: #44C} /* mechanic */ +.unit-p {color: #0A8} /* psionic */ +.unit-composed { + color: #C88; +} +.unit-air { + color: #08C; +} +.unit-x {color: #888} +.unit-s {color: #890} +.unit-m {color: #C70} +.unit-l {color: #D22} +.unit-h {color: #804} +.magic-opt:before, +.magic-opt:after { + color: #000; +} +.hurtrel, .units .hurtrel { + color: #778; +} +tbody .unit-shield { + color: #64A; +} +.unit-pdd { + color: #A8C; +} +.unit-splash { + color: #4A0; +} +.hurt-a { + color: #036; +} +.hurt-g { + color: #063; +} +.unit-massive { + color: #D88; +} +.unit-detect::before { + color: #0A8; +} +.unit-jump { + color: #8A4; +} +body .magic-perma { + text-decoration-color: #8C0; + -moz-text-decoration-color: #8C0; + -webkit-text-decoration-color: #8C0; +} + /* printing hints */ @page { @@ -726,6 +876,16 @@ nav > .section { /* terse optimisation */ +@media (min-height: 112ex) and (min-width: 90em) { + table.keys { + width: auto; + } + .keys td { + padding: 1ex 0 1ex .1em; + width: 7em; + } +} + @media (max-width: 79em) { .keys td { position: relative; /* hides overflow */ @@ -742,9 +902,14 @@ nav > .section { opacity: .5; color: #FFF; } + table.keys { width: 62.1em; /* 82.5em - 12 * Δtd(6.2em - 4.5em) */ } + .row2 {margin-left: 5.3em} /* 7em / Δtd(6em : 4.5em) */ + .row3 {margin-left: 6em} /* 8em / Δtd */ + .row4 {margin-left: 7.5em} /* 10em / Δtd */ + @media (max-width: 61em) { .keys td { width: 3em; @@ -761,6 +926,33 @@ nav > .section { table.keys { width: 37em; /* (12 * td(3em + 6px) + 8em) * 80% */ } + .row2 {margin-left: 3.5em} /* 7em / Δtd(6em : 3em) */ + .row3 {margin-left: 4em} /* 8em / Δtd */ + .row4 {margin-left: 5em} /* 10em / Δtd */ + } + + @media (max-width: 42em) { + /* flatten right legend column on mobile */ + .help > * { + display: table-row; + width: auto; + } + ul.legend-set { + clear: left; + } + .right dl.legend { + margin-right: 0; + margin-left: 6.4em; + } + .right dl.legend dt { + margin-right: 0; + margin-left: -6.4em; + float: left; + clear: left; + } + .right dl.legend dd { + float: left; + } } }