X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/a4aefb765b44c548e0b8b319f78648b43e98791d..dc1ab5f00eed170e75fe40687b381369a35760b8:/base.css diff --git a/base.css b/base.css index 5336d63..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,13 +101,30 @@ ul { } pre { - display: inline-block; text-align: left; + margin: 2ex auto; + white-space: pre-wrap; + overflow-wrap: break-word; +} +body > pre { + width: 78ch; + tab-size: 4; + -moz-tab-size: 4; + 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 { @@ -121,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 { @@ -144,7 +163,7 @@ h3 {display: none} /* semantic details (non-css/js) */ table.keys { display: block; - width: 82.5em; /* 12 * (2px + 1px + 6.2em + 1px + 2px) + 8em*/ + width: 82.5em; /* 12 * td(2px + 1px + 6.2em + 1px + 2px) + 8em */ // padding-right: 72px; border-spacing: 0; border-collapse: collapse; @@ -268,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; } @@ -561,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; } @@ -642,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 { @@ -685,6 +780,10 @@ form.aside { right: 1em; } +.family-name { + font-variant: small-caps; +} + #index nav { columns: 3; -moz-columns: 3; @@ -694,6 +793,74 @@ nav > .section { break-inside: avoid; -webkit-column-break-inside: avoid; /* webkit */ page-break-inside: avoid; /* moz */ + overflow: hidden; /* webkit workaround */ +} +#index nav a { + display: inline-block; + 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 */ @@ -707,3 +874,100 @@ nav > .section { ul.legend-set {display: none} /* current options only relevant on dynamic media */ } +/* 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 */ + width: 4.5em; + } + .keys td b, + .keys .meta td b, + .keys .ctrl td b, + .keys .lead td b { /* leading chars always fit */ + position: absolute; /* background */ + right: 0; /* least overlap in corner */ + font-size: 250%; + line-height: 2.5ex; + 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; + height: 6.75ex; /* 3 lines */ + font-size: 80%; + } + .keys td b, + .keys .meta td b, + .keys .ctrl td b, + .keys .lead td b { + line-height: 4ex; + } + + 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; + } + } +} + +/* +@media screen and (orientation: portrait) and (max-width: 62em) { + body table.keys, + #rows { + margin-top: 1ex; + transform: rotate(90deg); + transform-origin: top left; + width: 68em; + height: 37em; + margin-left: 40em; + margin-bottom: 30em; + font-size: 80%; + } +} +*/