X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/d08e6069c69af98c82e3bba61ccccb14f2e76c7a..HEAD:/base.css diff --git a/base.css b/base.css index 0149f2f..e4ed58d 100644 --- a/base.css +++ b/base.css @@ -114,6 +114,7 @@ body > pre { border-width: 0 1px; border-style: solid; white-space: pre; + font-size: 1.9vmin; /* cover full width at most */ } code { white-space: nowrap; @@ -123,19 +124,40 @@ h1 small, h2 small { position: absolute; /* side note; do not influence alignment */ margin-left: 1em; - font-size: 80%; - line-height: 175%; + font-weight: normal; + font-size: 50%; /* 1rem */ + padding-top: 1.75ex; /* align baseline with container */ +} +h2 small { + font-size: 90.9%; + padding-top: .17ex; } -dl > dt { - float: left; - width: 50%; +.section dl { + display: grid; + grid: auto-flow / 1fr 1fr; + clear: both; +} +.section dl > dt { + grid-column: 1; text-align: right; } +dt code { + white-space: normal; +} dl > dd { + grid-column: 2; text-align: left; padding-left: 1em; - overflow: hidden; + margin: 0 0 .5ex; +} +@media (max-width: 42em) { + .section dl { + grid: auto-flow / minmax(8em, 1fr) minmax(20em, 1fr); + } + dl > dd { + margin-bottom: 1ex; /* distinguish rows more as dts can wrap */ + } } /* "keyboard" (list of keys) */ @@ -163,20 +185,18 @@ h3 {display: none} /* semantic details (non-css/js) */ table.keys { display: block; - width: 82.5em; /* 12 * td(2px + 1px + 6.2em + 1px + 2px) + 8em */ -// padding-right: 72px; border-spacing: 0; border-collapse: collapse; -} -table.keys > * { - margin-right: -72px; + white-space: nowrap; + text-align: left; } /* individual keys */ dl.legend dt, .keys td { - float: left; + display: inline-block; + white-space: normal; width: 6.2em; line-height: 2.25ex; /* a little terser (seems to be gecko's default anyway) */ height: 4.5ex; /* 2 lines */ @@ -226,6 +246,49 @@ dl.legend dt, font-weight: normal; /* nice and subtle */ } +/* enlarged keys */ + +.keys.big td { + width: 1em; + min-width: auto; + height: 2.25ex; + font-size: 200%; + font-size: calc(7vmin - 4px); /* fit 12 keys to page */ + overflow: visible; + position: relative; + padding: 0; + margin: 0 .2vw -1px; +} + +/* override row alignments */ +.keys.big tbody { + font-size: calc(1.4vmin); /* enlarged td conversion */ +} +.keys.big .row2 {margin-left: 7em} +.keys.big .row3 {margin-left: 8em} +.keys.big .row4 {margin-left: 10em} +.keys.big .row0 { + display: none; /* headerless */ +} + +.keys.big td b { + position: absolute; /* overlay */ + z-index: 1; + top: -1.2ex; /* halfway over shift */ + left: 0; + right: 0; + font-size: 50%; + opacity: .5; + color: #FFF; + line-height: 2.25ex; +} +.keys.big.cmp td b, +.keys.big .ctrl td b, +.keys.big .meta td b, +.keys.big .shift td b { + display: none; +} + /* tables */ table { @@ -254,6 +317,12 @@ td.joinl { border-left: none; } +thead { + position: sticky; + top: 0; + background: #DDD8; +} + /* character table */ .glyphs thead th, .glyphs td { @@ -451,10 +520,10 @@ table.dimap { .u-invalid {background: #BBB} /* invalid, impossible */ /* foreground representation */ -#digraphs .u-l3 {color: #080} /* partial */ -#digraphs .u-l3.ex {color: #4C0} /* experimental */ -#digraphs .u-l2 {color: #A44; color: rgba(128, 0, 0, .6)} /* unofficial proposal */ -#digraphs .u-l1 {color: #D00; color: rgba(255, 0, 0, .8)} /* minimal or invalid */ +#digraphs .u-l4 {color: #080} /* partial */ +#digraphs .u-l5 {color: #4C0} /* experimental */ +#digraphs .u-l2 {color: #A44; color: rgba(128, 0, 0, .6)} /* unofficial */ +#digraphs .u-l1 {color: #D00; color: rgba(255, 0, 0, .8)} /* missing */ /* support percentage (browser cells) */ .p0 {opacity: .6} @@ -479,10 +548,10 @@ table.dimap { /* code syntax */ .sy-comment { color: #888 } .sy-constant { color: #008 } -.sy-type, .sy-identifier { color: #804 } .sy-statement { } .sy-preProc { } +.sy-type, .sy-special { color: #408 } .sy-error { font-weight: bold; background-color: #F00; color: #FFF } .sy-todo { background-color: #FF0 } @@ -526,8 +595,8 @@ table.dimap { .l3:hover {background: #FF8} .l4:hover {background: #CF8} .l5:hover {background: #8F8} -.u-l3:hover {outline: 1px solid #080} -.u-l3.ex:hover {outline: 1px solid #8F0} +.u-l4:hover {outline: 1px solid #080} +.u-l5:hover {outline: 1px solid #8F0} .u-l2:hover {outline: 1px solid #800} .u-l1:hover {outline: 1px solid #F00} @@ -588,6 +657,7 @@ dl.legend dt.new, .keys td.new { border-style: dashed; } +.ext, dl.legend dt.ext, .keys td.ext { opacity: .6; @@ -671,21 +741,33 @@ figure { margin: 0; position: relative; } -figcaption { - position: absolute; - padding: 0 1em; - color: #000; - background: rgba(255, 255, 255, .66); - right: 0; - bottom: 0; - max-width: 100%; - box-sizing: border-box; -} -img { +figure img { vertical-align: bottom; width: 100%; } +@media (min-width: 60em) { + figcaption { + padding: 0 1em; + color: #000; + background: rgba(255, 255, 255, .66); + position: absolute; + right: 0; + bottom: 0; + max-width: 100%; + box-sizing: border-box; + } + .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 */ + } +} + /* image gallery */ .gallery { @@ -699,6 +781,8 @@ img { .gallery figure { overflow: hidden; box-sizing: border-box; + hyphens: auto; + max-width: 900px; } .gallery figcaption > small { display: inline-block; @@ -713,7 +797,7 @@ img { } @media (min-width: 603px) and (min-height: 400px) { /* fit 3 cells of 200x133 */ - .gallery > ul > li:first-child > figure, + .gallery > li:first-child > figure, .gallery li.huge > figure { grid-row: span 3; grid-column: span 3; @@ -729,20 +813,50 @@ img { 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 */ +.gallery figure[data-sup]:after { + position: absolute; + right: 0; + content: attr(data-sup); + color: #FFF; + background: #0006; + border-radius: 1em; + padding: .1ex .4em; + margin: .4em; } +.gallery .expand > figure[data-sup]:after { + content: '+' attr(data-sup); + background: #0008; + font-size: 150%; + border: 2px solid #FFF8; +} + +/* specialised galleries */ body#word { margin: 8px 1px; } +table.gallery { + grid-auto-flow: row; + grid-template-columns: repeat(auto-fit, minmax(2em, max-content)); /* 1fr */ +} +table.gallery tbody, +table.gallery tr { + display: contents; +} +table.gallery tr > :first-child { + grid-column: 1; + -grid-row: span 6; + margin: auto; /* vertical-align: middle */ +} +table.gallery tr > :nth-child(2) { + grid-column: 2; /* in case 1st is missing */ +} +table.gallery td { + border: 0; /* does not collapse */ + outline: 1px solid #888; /* over grid-gap */ +} + /* page-specific */ #browser td > a { @@ -883,9 +997,6 @@ body .magic-perma { /* terse optimisation */ @media (min-height: 112ex) and (min-width: 90em) { - table.keys { - width: auto; - } .keys td { padding: 1ex 0 1ex .1em; width: 7em; @@ -896,6 +1007,8 @@ body .magic-perma { .keys td { position: relative; /* hides overflow */ width: 4.5em; + min-width: 6.5vw; + min-width: calc(7.7vw - 8px); } .keys td b, .keys .meta td b, @@ -909,13 +1022,26 @@ body .magic-perma { 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 */ + /* letter scripts columns to rows */ + .legend .glyphs:first-child td { + display: table-row; + vertical-align: baseline; + } + .legend .glyphs td > table { + width: auto; + display: inline; + margin-left: 1ex; + } + .legend .glyphs:first-child td td { + margin: 2px; + display: inline-block; + width: auto; + } + @media (max-width: 61em) { .keys td { width: 3em; @@ -929,9 +1055,6 @@ body .magic-perma { 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 */ @@ -969,8 +1092,6 @@ body .magic-perma { margin-top: 1ex; transform: rotate(90deg); transform-origin: top left; - width: 68em; - height: 37em; margin-left: 40em; margin-bottom: 30em; font-size: 80%;