X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/1d37e00ff50c4cee3f23749febcfe6e33e1f608a..84f6f39be4ffeb6307756b97126ad993bef367a8:/base.css diff --git a/base.css b/base.css index 759a3ea..c53f11e 100644 --- a/base.css +++ b/base.css @@ -1,15 +1,10 @@ -/* media features */ - -@import url(terse.css) all and (max-width: 80em); - -@import url(mono.css) all and (monochrome); - /* general */ body { background: #FFF; color: #000; font-size: 90%; + text-align: center; } a, a:visited { color: #000; @@ -22,13 +17,18 @@ a:active, a:hover { /* common sections */ +h1 { + background-image: -moz-repeating-linear-gradient(top left -75deg, + rgba(255,0,0,.5), rgba(255,0,0,0) 1ex, + rgba(255,0,0,0) 2ex, rgba(255,0,0,.5) 3ex + ); +} h1, h2 { - text-align: center; font-size: 200%; margin: 0; } h2, caption { - font-size: 125%; + font-size: 110%; font-weight: bold; } caption { @@ -42,15 +42,26 @@ hr { margin: 0; } -.diinfo h2 { +.section ul { + margin-bottom: 1ex; +} +.section h2 { margin: 0 1ex; clear: both; - font-size: 110%; - text-align: left; +} +.section table { + float: left; + position: relative; /* prevents buggy hovering in table if caption present in gecko */ + margin: 1ex 1ex 2ex; +} +.section .section { + float: left; +} +#charset .section table { + margin: -0.5ex 0 1ex; /* headers provide sufficient spacing already */ } p { - text-align: center; margin: 1ex 0 1em; } p.aside { @@ -69,148 +80,192 @@ ul { list-style: none; } +#source 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.row1 {margin-left: 7em} /* row offsets relative to ~6em key width */ -li.row2 {margin-left: 8em} -li.row3 {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)) */ + +table.keys { + display: block; + width: 82.5em; /* 12 * (2px + 1px + 6.2em + 1px + 2px) + 8em*/ +// padding-right: 72px; + border-spacing: 0; + border-collapse: collapse; +} +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; } -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.meta li b, -ul.keys.ctrl li b, -ul.keys.lead li b { /* char with ctrl or leading key */ +.keys td a { /* key link */ + color: inherit; + text-decoration: none; + display: block; + height: 100%; +} + +.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 */ } -/* character table */ - -li table { - float: left; - position: relative; /* prevents buggy hovering if table-caption present in gecko */ -} +/* tables */ -table.glyphs { +table { border-collapse: collapse; } -.glyphs thead th, .glyphs td { - text-align: center; - width: 1.6em; /* regular interval */ -} -.glyphs th, .glyphs td { +th, td { border-color: #778; border: 1px solid #888; background: #DDD; } +thead th, td { + text-align: center; +} + +/* character table */ + +.glyphs thead th, .glyphs td { + width: 1.6em; /* regular interval */ +} .glyphs tbody td { font-size: 112%; } +.glyphs.big tbody td { + font-size: 200%; +} .glyphs .glyphs { margin: 0.5ex 0; } .glyphs .glyphs td { font-size: 100%; } -.glyphs.charmap tbody td { - font-size: 200%; -} /* table headers */ -.glyphs th, -.glyphs thead td { +th, +thead td { border: 0; background: transparent !important; } .glyphs thead td { width: auto; /* no glyph cells in header */ } -.glyphs th { +th { padding: 0 0.2em; } -.diinfo .glyphs th { +.diinfo th { font-size: 50%; /* mostly insignificant here */ font-weight: normal; } -.diinfo .glyphs tbody th { +.diinfo tbody th { text-align: right; /* variable width so keep near cells */ padding: 0 0.5em; } /* digraphs map */ -table.glyphs.dimap { +table.dimap { table-layout: fixed; /* prevent resizing, notably in msie6 */ } -.glyphs.dimap thead th, .glyphs.dimap td { +.dimap thead th, .dimap td { /* below-maximum size (but still average enough to be regular) so we can fit more */ width: 1.2em; /* msie only looks at the first row */ min-width: 1em; /* prevents gecko from restricting to page width */ } -.glyphs.dimap th { +.dimap th { text-align: center; /* row headers are also glyph-sized */ } -.glyphs.dimap tbody, .glyphs.dimap colgroup { +.mapped tbody, .mapped colgroup, +.dimap tbody, .dimap colgroup { border: 2px double #888; /* major character group grid */ } -.glyphs.dimap tbody { +.mapped tbody, +.dimap tbody { border-width: 2px 0; /* horizontal group dividers */ } -.glyphs.dimap colgroup { +.mapped colgroup, +.dimap colgroup { border-width: 0 2px; /* vertical divides */ } @@ -218,14 +273,14 @@ table.glyphs.dimap { .diinfo { -moz-column-width: 24em; + -webkit-column-width: 24em; + column-width: 24em; } .diinfo > div { overflow: hidden; -} - -.diinfo table.glyphs { - margin: 1ex 1ex 2ex; - float: left; + column-break-inside: avoid; + -webkit-column-break-inside: avoid; + position: relative; z-index: 1; /* webkit bug */ } /* glyph cell overlay (digraph labels) */ @@ -254,132 +309,212 @@ table.glyphs.dimap { /* character properties */ -td.X {background: #FFF} /* unidentified */ -#digraphs td.Xa {color: #0A0} /* ascii */ -#digraphs td.Xl {color: #070} /* latin1 */ -#digraphs .Xz {color: #D00} /* proposed */ +.X {background: #FFF} /* unidentified */ +#digraphs .Xa {color: #0A0} /* ascii */ +#digraphs .Xl {color: #070} /* latin1 */ +#digraphs .Xz {color: #D00} /* proposed */ -td.Lm, td.Mc, td.Me, td.Zl, td.Zp {background: #F00} /* unstyled */ +.Lm, .Mc, .Me, .Zl, .Zp {background: #F00} /* unstyled */ +.X > span {background: #888} /* invisible contents */ /* letter scripts */ -td.Armenian, -td.Greek {background: #FFE8CF} -td.Cyrillic {background: #FFDDA8} -td.Latin {background: #FFB} -td.Aramaic, -td.Hebrew {background: #FFD} -td.Arabic {background: #EFE} -td.African {background: #DED} -td.Brahmic {background: #FBB} /* same as number */ -td.Khmer {background: #FBA} -td.Hangul, -td.Syllabic {background: #DEA} -td.Katakana {background: #DFA} -td.Hiragana {background: #DFC} -td.Bopomofo {background: #BFC} -td.Han {background: #CFD} -td.Alpha {background: #ADA} /* other scripts */ +.Armenian, +.Greek {background: #FFE8CF} +.Cyrillic {background: #FFDDA8} +.Latin {background: #FFB} +.Aramaic, +.Hebrew {background: #FFD} +.Arabic {background: #EFE} +.African {background: #DED} +.Brahmic {background: #FBB} /* same as number */ +.Khmer {background: #FBA} +.Hangul, +.Syllabic {background: #DEA} +.Katakana {background: #DFA} +.Hiragana {background: #DFC} +.Bopomofo {background: #BFC} +.Han {background: #CFD} +.Alpha {background: #ADA} /* other scripts */ /* other categories */ -td.Nd, td.Nl, td.No {background: #FDD} /* number */ -td.Sc {background: #FCD} /* currency */ -td.Sm {background: #ECE} /* math */ -td.So {background: #DCF} /* symbol */ -td.Pd, td.Po, td.Pc {background: #CDF} /* punctuation */ -td.Ps, td.Pe, td.Pi, td.Pf {background: #BEF} /* quote */ -td.Lm, td.Sk {background: #CEE} /* spacing modifier */ -td.Mn {background: #ACC} /* modifier */ -td.Cc, td.Cf {color: #666; background: #BBB} /* control */ -td.Zs {background: #ACB} /* space */ -td.Zs span {background: #EEE} -td.Co {background: #A99} /* private */ -td.Xi, td.Cs {background: #CCC} /* invalid */ -td.Xd {color: #844} /* deprecated */ -td.Xr {color: #888} /* reserved (digraph reverse or proposal) */ -.dimap td.Xr {background: #EEE} /* reversed digraph */ - -/* implementation-based alternatives */ -td.di-b {background: #FDD} /* bmp */ -td.di-d {background: #FFD} /* rfc-1345 digraph */ -td.di-prop {background: #FED} /* proposed digraph */ -td.di-a {background: #EFD} /* ascii */ -td.di-rare {background: #EEE} /* disfavoured */ -td.di-invalid {background: #BBB} /* impossible */ +.Nd, .Nl, .No {background: #FDD} /* number */ +.Sc {background: #FCD} /* currency */ +.Sm {background: #ECE} /* math */ +.So {background: #DCF} /* symbol */ +.Pd, .Po, .Pc {background: #CDF} /* punctuation */ +.Ps, .Pe, .Pi, .Pf {background: #BEF} /* quote */ +.Lm, .Sk {background: #CEE} /* spacing modifier */ +.Mn {background: #ACC} /* modifier */ +.Cc, .Cf {color: #666; background: #BBB} /* control */ +.Zs {background: #ACB} /* space */ +.Co {background: #DCC} /* private */ +.Xi, .Cs {background: #CCC} /* invalid */ +.Xd {color: #844} /* deprecated */ +.Xr {color: #888} /* reserved (digraph reverse or proposal) */ +.dimap .Xr {background: #EEE} /* reversed digraph */ +.ccmap .Xr {opacity:.4} + +/* support levels */ +.l1 {background: #FDD} /* no, unsupported, other */ +.l2 {background: #FED} /* partial, restricted, unofficial */ + /* default u-prop, u-bmp */ +.l3 {background: #FFD} /* almost, imperfect, common */ + /* default u-di, u-lat1 */ +.l4 {background: #EFD} /* yes, supported, ubiquitous, native */ + /* default u-ascii */ +.l5 {background: #DFD} /* complete, perfect */ +.l0 {background: #EEE} /* unknown, omitted */ +.ex { color: #888} /* experimental, disfavoured */ +.u-invalid {background: #BBB} /* invalid, impossible */ + +.p0 {opacity: .6} +.p0.p {opacity: 1} +.p::after {content: '!'; color: #F00} +.p4::after {color: #C00} +.p3::after {color: #A00} +.p2::after {color: #800} +.p1::after, +.p0::after {color: #000} +.p09::after {opacity: .9} +.p08::after {opacity: .8} +.p07::after {opacity: .7} +.p06::after {opacity: .6} +.p05::after {opacity: .5} +.p04::after {opacity: .4} +.p03::after {opacity: .3} +.p02::after {opacity: .2} +.p01::after {opacity: .1} +.p00::after {display: none} + +/* code syntax */ +.sy-comment { color: #888 } +.sy-constant { color: #008 } +.sy-type, +.sy-identifier { color: #804 } +.sy-statement { } +.sy-preProc { } +.sy-special { color: #408 } +.sy-error { font-weight: bold; background-color: #F00; color: #FFF } +.sy-todo { background-color: #FF0 } /* hover effects */ -td.di-d, -td.X:hover {cursor: help} -td.Greek:hover, td.Armenian:hover {background: #FA8} -td.Cyrillic:hover {background: #FB7} -td.Latin:hover {background: #EE4} -td.Hebrew:hover, td.Aramaic:hover {background: #FFA} -td.Arabic:hover {background: #CFD} -td.African:hover {background: #BDB} -td.Syllabic:hover, td.Hangul:hover {background: #CE6} -td.Katakana:hover {background: #BF7} -td.Hiragana:hover {background: #AF8} -td.Bopomofo:hover {background: #8FA} -td.Brahmic:hover {background: #F77} -td.Khmer:hover {background: #F87} -td.Han:hover {background: #5EB} -td.Alpha:hover {background: #5C5} -td.Nd:hover, td.Nl:hover, td.No:hover {background: #F99} /* number */ -td.Sc:hover {background: #F8C} /* currency */ -td.Sm:hover {background: #F8F} /* math */ -td.So:hover {background: #A8F} /* symbol */ -td.Pd:hover, td.Po:hover, td.Pc:hover {background: #8AF} /* punctuation */ -td.Ps:hover, td.Pe:hover, td.Pi:hover, td.Pf:hover {background: #8DF} /* quote */ -td.Lm:hover, td.Sk:hover {background: #BFF} /* spacing modifier */ -td.Mn:hover {background: #CDE} /* modifier */ -td.Zs:hover {background: #CED} /* space */ -td.Cc:hover, td.Cf:hover {background: #DDD} /* control */ -td.Co:hover {background: #A77} /* private */ -td.Xr:hover {background: #FFF} /* reserved */ -td.Xa:hover {outline: 1px solid #0F0} /* ascii */ -td.Xl:hover {outline: 1px solid #0C0} /* latin1 */ -td.Xz:hover {outline: 1px solid #F00} /* proposed */ -td.di-rare:hover {background: #BBB} -td.di-b:hover {background: #F88} -td.di-d:hover {background: #FF8} -td.di-prop:hover {background: #FC8} -td.di-a:hover {background: #CF8} +.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} +.Hebrew:hover, .Aramaic:hover {background: #FFA} +.Arabic:hover {background: #CFD} +.African:hover {background: #BDB} +.Syllabic:hover, .Hangul:hover {background: #CE6} +.Katakana:hover {background: #BF7} +.Hiragana:hover {background: #AF8} +.Bopomofo:hover {background: #8FA} +.Brahmic:hover {background: #F77} +.Khmer:hover {background: #F87} +.Han:hover {background: #5EB} +.Alpha:hover {background: #5C5} +.Nd:hover, .Nl:hover, .No:hover {background: #F99} /* number */ +.Sc:hover {background: #F8C} /* currency */ +.Sm:hover {background: #F8F} /* math */ +.So:hover {background: #A8F} /* symbol */ +.Pd:hover, .Po:hover, .Pc:hover {background: #8AF} /* punctuation */ +.Ps:hover, .Pe:hover, .Pi:hover, .Pf:hover {background: #8DF} /* quote */ +.Lm:hover, .Sk:hover {background: #BFF} /* spacing modifier */ +.Mn:hover {background: #CDE} /* modifier */ +.Zs:hover {background: #CED} /* space */ +.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 */ +.l0:hover {background: #888} +.l1:hover {background: #F88} +.l2:hover {background: #FC8} +.l3:hover {background: #FF8} +.l4:hover {background: #CF8} +.l5:hover {background: #8F8} /* key type colorization */ -.pm {background: #BFB} /* motion */ -.po {background: #DFA} /* window */ -.co {background: #FFA} /* command */ -.ci {background: #BFE} /* info */ -.cp {background: #FDA} /* TODO */ -.mi {background: #FCA} /* insert mode */ -.mo {background: #FCC} /* mode */ -.mv {background: #ECE} /* visual mode */ -.me {background: #CCF} /* key mode */ - -.ci[onclick]:hover {background: #5ED} -.mi[onclick]:hover {background: #F97} -.mo[onclick]:hover {background: #F88} -.me[onclick]:hover {background: #99F} -.mv[onclick]:hover {background: #D9D} -.co[onclick]:hover {background: #EE4} +.c-sa, +.ci, +.g0 {background: #BFE} /* cyan: info */ +.c-na, +.pm, +.g1 {background: #BFB} /* green: motion */ +.po, +.g2 {background: #DFA} /* greenish: jump (g1+) */ +.c-af, +.co, +.g3 {background: #FFA} /* yellow: command */ +.c-eu, +.cp, +.g4 {background: #FDA} /* orangish: open (g5-) */ +.mi, +.g5 {background: #FCA} /* orange: insert */ +.c-as, +.mo, +.g6 {background: #FCC} /* red: mode */ +.c-aa, +.mv, +.g7 {background: #ECE} /* purple: visual (g6+) */ +.c-oc, +.me, +.g8 {background: #CCF} /* blue: prefix */ + +.c-sa:hover, +.ci a:hover, .ci[onclick]:hover, +.g0 a:hover, .g0[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} +.c-af:hover, +.co a:hover, .co[onclick]:hover, +.g3 a:hover, .g3[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} +.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} +.c-oc:hover, +.me a:hover, .me[onclick]:hover, +.g8 a:hover, .g8[onclick]:hover {background: #99F} .no { - background: #EEE; + background: #EEE; /* unassigned */ } -ul.keys li.ni { +.keys td.ni { border: 0; padding: 1px; /* same size as borderlessless keys */ + background: none; } -dl.legend dt.vim, -ul.keys li.vim { +dl.legend dt.more, +.keys td.more b { + text-shadow: #F20 0 0 0.1em; +} +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; - -moz-border-radius: 0; /* incompatible with border-style */ } -dl.legend dt.vim7, -ul.keys li.vim7 { - border-style: dotted; - -moz-border-radius: 0; +dl.legend dt.new, +.keys td.new { + opacity: .6; } /* l/r help columns */ @@ -429,6 +564,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 { @@ -453,6 +589,49 @@ ul.legend-set li { padding: 0 0.2em; } +/* page-specific */ + +#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; + height: 0; + -webkit-transition: all 1s ease-in; + -o-transition: all 1s ease-in; + -moz-transition: all 1s ease-in; + transition: height 1s ease-in; +} +#browser tr .aside p { + margin: 1ex 0; +} +#browser tr.target .aside, +#browser tr:target .aside { + height: auto; +} +#browser td.X { + white-space: nowrap; /* some browsers break on dashes */ +} + +#browser tr:target > td:first-of-type, +#browser tr.focus > td:first-of-type { + background: inherit; +} +#browser tr.focus > td { + border-bottom-color: #000; +} + +form.aside { + position: absolute; + top: 3ex; + right: 1em; +} + /* printing hints */ @page {