X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/ff13359d0999d7b29d1326bc3bf63008821f53b6..f1ad2d8f64690870d6bb4977b04202083797d6a2:/base.css diff --git a/base.css b/base.css index 7a21feb..ec33cf7 100644 --- a/base.css +++ b/base.css @@ -28,6 +28,12 @@ h2, caption { caption { margin: 1ex; } +caption aside { + position: absolute; + margin-left: 1ex; + font-weight: normal; + display: inline; +} hr { clear: both; @@ -63,100 +69,140 @@ p.aside { } p.footer { margin: 1em 0 0; + clear: both; } .help + .footer { margin: 0; } +.error { + background: #F00; + background: rgba(255, 0, 0, .8); + color: #FFF; + border: 2px solid #000; + border-width: 2px 0; + padding: 1em; + margin: 2ex auto; + clear: both; +} +.error > * { + margin-bottom: 1ex; +} +.error > *:last-child { + margin-bottom: 0; +} + ul { margin: 0; padding: 0; list-style: none; } -#source pre { +pre { display: inline-block; text-align: left; } +h2 small { + position: absolute; /* side note; do not influence alignment */ + margin-left: 1em; +} + +dl > dt { + float: left; + width: 50%; + text-align: right; +} +dl > dd { + text-align: left; + padding-left: 1em; + overflow: hidden; +} + /* "keyboard" (list of keys) */ -ul#rows {margin-top: -5ex} /* top (esc) row fits besides header */ -li.row2 {margin-left: 7em} /* row offsets relative to ~6em key width */ -li.row3 {margin-left: 8em} -li.row4 {margin-left: 10em} /* should actually align to next key on row0 */ +#rows {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 */ /* ...however rows>=1 are shifted a bit, to make space */ -li.row { - clear: both; /* start new row block (keyboard row) */ - padding-top: 1ex; -} -li.row > ul > li { +table.keys tr { clear: both; /* start new row (screen row) */ -} /* css2 selectors ignored by msie<=6 */ -li.row ul ul { + display: block; +} +table.keys tbody { + /* start new row block (keyboard row) */ clear: both; -} /* css1 alternative as well (doesn't match in gecko for some reason) */ + padding-top: 1ex; + display: block; +} +table.keys th, h3 {display: none} /* semantic details (non-css/js) */ -li.mode {display: none} /* initially hidden (only show interactively (js)) */ +.keys .mode {display: none} /* initially hidden (only show interactively (js)) */ -#rows { +table.keys { + display: block; width: 82.5em; /* 12 * (2px + 1px + 6.2em + 1px + 2px) + 8em*/ - padding-right: 72px; +// padding-right: 72px; + border-spacing: 0; + border-collapse: collapse; } -#rows > li { +table.keys > * { margin-right: -72px; } /* individual keys */ dl.legend dt, -ul.keys li { +.keys td { float: left; width: 6.2em; line-height: 2.25ex; /* a little terser (seems to be gecko's default anyway) */ height: 4.5ex; /* 2 lines */ overflow: hidden; margin: 0 2px -1px; + padding: 0; text-align: center; border: 1px solid #000; border-radius: 4px; -moz-border-radius: 4px; + text-transform-variation: text; } -ul.keys li b { +.keys td b { float: left; font-size: 200%; line-height: 2.5ex; /* inherits otherwise */ padding-left: 2px; } -ul.keys.omni li { /* omni-present esc */ +.keys .row0 td { /* omni-present esc */ width: 8.5em; } /* fine tuning of special occurrences */ -ul.keys li b[title] { /* mnemonic hover */ +.keys td b[title] { /* mnemonic hover */ cursor: help; } -ul.keys li[onclick]:hover { /* link */ +.keys td[onclick]:hover { /* link */ cursor: pointer; } -ul.keys li a { /* key link */ +.keys td a { /* key link */ color: inherit; text-decoration: none; display: block; height: 100%; } -ul.keys.meta li b, -ul.keys.ctrl li b, -ul.keys.lead li b { /* char with ctrl or leading key */ +.keys .meta td b, +.keys .ctrl td b, +.keys .lead td b { /* char with ctrl or leading key */ font-size: 100%; /* space is too limited for 2+ double-sized chars */ line-height: 5ex; /* keep double height though */ } -ul.keys.meta li b small, -ul.keys.ctrl li b small { /* meta key indicator */ +.keys .meta td b small, +.keys .ctrl td b small { /* meta key indicator */ font-size: 70%; font-weight: normal; /* nice and subtle */ } @@ -175,6 +221,20 @@ thead th, td { text-align: center; } +td.joind { + border-bottom: none; +} +td.joinu { + /* first cell determines border width for entire row */ + border-top-color: transparent; +} +td.joinr { + border-right: none; +} +td.joinl { + border-left: none; +} + /* character table */ .glyphs thead th, .glyphs td { @@ -187,18 +247,23 @@ thead th, td { font-size: 200%; } .glyphs .glyphs { - margin: 0.5ex 0; + margin: 0.5ex 0; /* nested in legend */ } .glyphs .glyphs td { font-size: 100%; } +.cover td { + min-width: 2.5ex; /* square cells */ +} + /* table headers */ th, +tfoot td, thead td { - border: 0; - background: transparent !important; + border-width: 0; + background: transparent; } .glyphs thead td { width: auto; /* no glyph cells in header */ @@ -214,6 +279,32 @@ th { text-align: right; /* variable width so keep near cells */ padding: 0 0.5em; } +.cat { + font-size: 70%; + text-transform: uppercase; +} +tfoot .cat th { + border-top: 1px solid #888; +} + +/* colour map */ + +table.color td { + border: 1px solid #555; + font-weight: normal; + padding: 0 8px; +} +table.color td samp { + margin: 0 -8px 0 8px; + font-family: inherit; + float: right; +} +table.color td samp ~ samp { +} +table.color td samp small { + font: 100% monospace; + padding: 0 .5ex; +} /* digraphs map */ @@ -246,9 +337,14 @@ table.dimap { .diinfo { -moz-column-width: 24em; + -webkit-column-width: 24em; + column-width: 24em; } .diinfo > div { overflow: hidden; + column-break-inside: avoid; + -webkit-column-break-inside: avoid; + position: relative; z-index: 1; /* webkit bug */ } /* glyph cell overlay (digraph labels) */ @@ -258,18 +354,18 @@ table.dimap { padding-bottom: 1.1ex; /* reserve space for label */ vertical-align: bottom; } -.glyphs small { +.glyphs.dilabel small { font-size: 50%; display: block; margin-top: 0.2ex; margin-bottom: -2.2ex; /* take cell padding */ } -.glyphs small.digraph { +.glyphs.dilabel small.digraph { background: #000; color: #FFF; opacity: 0.3; } -.glyphs small.value { +.glyphs.dilabel small.value { background: #600; color: #FFF; opacity: 0.3; @@ -278,11 +374,8 @@ table.dimap { /* character properties */ .X {background: #FFF} /* unidentified */ -#digraphs .Xa {color: #0A0} /* ascii */ -#digraphs .Xl {color: #070} /* latin1 */ -#digraphs .Xz {color: #D00} /* proposed */ - -.Lm, .Mc, .Me, .Zl, .Zp {background: #F00} /* unstyled */ +.Mc, .Me, .Zl, .Zp {background: #F00} /* unstyled */ +.X > span {background: #898; background: rgba(0, 0, 0, .25)} /* invisible contents */ /* letter scripts */ .Armenian, @@ -314,8 +407,7 @@ table.dimap { .Mn {background: #ACC} /* modifier */ .Cc, .Cf {color: #666; background: #BBB} /* control */ .Zs {background: #ACB} /* space */ -.Zs span {background: #EEE} -.Co {background: #DCC} /* private */ +.Co, .Xi.Co {background: #DCC} /* private */ .Xi, .Cs {background: #CCC} /* invalid */ .Xd {color: #844} /* deprecated */ .Xr {color: #888} /* reserved (digraph reverse or proposal) */ @@ -332,9 +424,16 @@ table.dimap { /* default u-ascii */ .l5 {background: #DFD} /* complete, perfect */ .l0 {background: #EEE} /* unknown, omitted */ -.ex { color: #888} /* experimental, disfavoured */ +.ex { color: #888; color: rgba(0, 0, 0, .5)} /* experimental, disfavoured */ .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 */ + +/* support percentage (browser cells) */ .p0 {opacity: .6} .p0.p {opacity: 1} .p::after {content: '!'; color: #F00} @@ -365,9 +464,12 @@ table.dimap { .sy-error { font-weight: bold; background-color: #F00; color: #FFF } .sy-todo { background-color: #FF0 } +/* boolean alternate */ +.glyphs b { font-weight: normal; color: #800 } + /* hover effects */ -.u-di, .X:hover {cursor: help} +.X:hover > span {background: #FFF} /* whitespace marker */ .Greek:hover, .Armenian:hover {background: #FA8} .Cyrillic:hover {background: #FB7} .Latin:hover {background: #EE4} @@ -394,91 +496,77 @@ table.dimap { .Cc:hover, .Cf:hover {background: #DDD} /* control */ .Co:hover {background: #A77} /* private */ .Xr:hover {background: #FFF} /* reserved */ -.Xa:hover {outline: 1px solid #0F0} /* ascii */ -.Xl:hover {outline: 1px solid #0C0} /* latin1 */ -.Xz:hover {outline: 1px solid #F00} /* proposed */ +.Xi:hover {background: #DDD} /* invalid */ +.l0:hover {background: #888} .l1:hover {background: #F88} .l2:hover {background: #FC8} .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-l2:hover {outline: 1px solid #800} +.u-l1:hover {outline: 1px solid #F00} /* key type colorization */ .c-sa, -.ci, -.g0 {background: #BFE} /* cyan: info */ +.g1 {background: #BFE} /* cyan: info */ .c-na, -.pm, -.g1 {background: #BFB} /* green: motion */ -.po, -.g2 {background: #DFA} /* greenish: jump (g1+) */ +.g2 {background: #BFB} /* green: motion */ +.g3 {background: #DFA} /* greenish: jump (g2+) */ .c-af, -.co, -.g3 {background: #FFA} /* yellow: command */ +.g4 {background: #FFA} /* yellow: command */ .c-eu, -.cp, -.g4 {background: #FDA} /* orangish: open (g5-) */ -.mi, -.g5 {background: #FCA} /* orange: insert */ +.g5 {background: #FDA} /* orangish: open (g6-) */ +.g6 {background: #FCA} /* orange: insert */ .c-as, -.mo, -.g6 {background: #FCC} /* red: mode */ -.c-aa, -.mv, -.g7 {background: #ECE} /* purple: visual (g6+) */ +.g7 {background: #FCC} /* red: mode */ +.c-an, +.g8 {background: #ECE} /* purple: visual (g7+) */ .c-oc, -.me, -.g8 {background: #CCF} /* blue: prefix */ +.g9 {background: #CCF} /* blue: prefix */ .c-sa:hover, -.ci a:hover, .ci[onclick]:hover, -.g0 a:hover, .g0[onclick]:hover {background: #5ED} +.g1 a:hover, .g1[onclick]:hover {background: #5ED} .c-na:hover, -.pm a:hover, .pm[onclick]:hover, -.g1 a:hover, .g1[onclick]:hover {background: #7E7} -.po a:hover, .po[onclick]:hover, -.g2 a:hover, .g2[onclick]:hover {background: #CE6} +.g2 a:hover, .g2[onclick]:hover {background: #7E7} +.g3 a:hover, .g3[onclick]:hover {background: #CE6} .c-af:hover, -.co a:hover, .co[onclick]:hover, -.g3 a:hover, .g3[onclick]:hover {background: #EE4} +.g4 a:hover, .g4[onclick]:hover {background: #EE4} .c-eu:hover, -.cp a:hover, .cp[onclick]:hover, -.g4 a:hover, .g4[onclick]:hover {background: #FA6} -.mi a:hover, .mi[onclick]:hover, -.g5 a:hover, .g5[onclick]:hover {background: #F97} +.g5 a:hover, .g5[onclick]:hover {background: #FA6} +.g6 a:hover, .g6[onclick]:hover {background: #F97} .c-as:hover, -.mo a:hover, .mo[onclick]:hover, -.g6 a:hover, .g6[onclick]:hover {background: #F88} -.c-aa:hover, -.mv a:hover, .mv[onclick]:hover, -.g7 a:hover, .g7[onclick]:hover {background: #D9D} +.g7 a:hover, .g7[onclick]:hover {background: #F88} +.c-an:hover, +.g8 a:hover, .g8[onclick]:hover {background: #D9D} .c-oc:hover, -.me a:hover, .me[onclick]:hover, -.g8 a:hover, .g8[onclick]:hover {background: #99F} +.g9 a:hover, .g9[onclick]:hover {background: #99F} .no { background: #EEE; /* unassigned */ } -ul.keys li.ni { +.keys td.ni { border: 0; padding: 1px; /* same size as borderlessless keys */ + background: none; } dl.legend dt.more, -ul.keys li.more b { +.keys td.more b { text-shadow: #F20 0 0 0.1em; } dl.legend dt.more:hover, -ul.keys li.more:hover b { +.keys td.more:hover b { text-shadow: #F20 0 0 0.5em, #FC0 0 0 0.2em; } dl.legend dt.ext, -ul.keys li.ext { +.keys td.ext { border-style: dashed; } dl.legend dt.new, -ul.keys li.new { +.keys td.new { opacity: .6; } @@ -529,6 +617,7 @@ dl.legend dt { } dl.legend dd { margin: 3px 0.4em 0; /* align text (add dt border+padding height) */ + padding: 0; } dl.legend-options dt { @@ -558,6 +647,10 @@ ul.legend-set li { #browser td > a { text-decoration: none; } +#browser td > a:active, +#browser td > a:hover { + text-decoration: underline; +} #browser tr .aside { font-size: 80%; overflow: hidden; @@ -578,6 +671,7 @@ ul.legend-set li { white-space: nowrap; /* some browsers break on dashes */ } +#browser tr:target > td:first-of-type, #browser tr.focus > td:first-of-type { background: inherit; }