unicode: minimal sample characters for greek, hebrew
[sheet.git] / base.css
index 40d0cb1f87be61bbc52f4cff1f75219ce026cea8..0aee0ed34c58872808e3250380cdaecae29ee319 100644 (file)
--- a/base.css
+++ b/base.css
@@ -1,3 +1,11 @@
+/* media features */
+
+@import url(terse.css) all and (max-width: 80em);
+
+@import url(mono.css) all and (monochrome);
+
+/* general */
+
 body {
        background: #FFF;
        color: #000;
@@ -11,23 +19,59 @@ a:active, a:hover {
        color: #00F;
        text-decoration: none;
 }
+
+/* common sections */
+
 h1, h2 {
        text-align: center;
        font-size: 200%;
        margin: 0;
 }
-h2 {
+h2, caption {
        font-size: 125%;
-       margin-bottom: -4ex;
+       font-weight: bold;
+}
+caption {
+       margin: 1ex;
 }
 
-/* "keyboard" (list of keys) */
+hr {
+       clear: both;
+       visibility: hidden;
+       height: 2ex;
+       margin: 0;
+}
+
+.diinfo h2 {
+       margin: 0 1ex;
+       clear: both;
+       font-size: 110%;
+       text-align: left;
+}
+
+p {
+       text-align: center;
+       margin: 1ex 0 1em;
+}
+p.aside {
+       font-size: 80%;
+}
+p.footer {
+       margin: 1em 0 0;
+}
+.help + .footer {
+       margin: 0;
+}
 
 ul {
        margin: 0;
        padding: 0;
        list-style: none;
 }
+
+/* "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 */
@@ -47,6 +91,14 @@ li.row ul ul {
 h3      {display: none} /* semantic details (non-css/js) */
 li.mode {display: none} /* initially hidden (only show interactively (js)) */
 
+#rows {
+       width: 82.5em; /*       12 * (2px + 1px + 6.2em + 1px + 2px) + 8em*/
+       padding-right: 72px;
+}
+#rows > li {
+       margin-right: -72px;
+}
+
 /* individual keys */
 
 dl.legend dt,
@@ -68,7 +120,7 @@ ul.keys li b {
        line-height: 2.5ex; /* inherits otherwise */
        padding-left: 2px;
 }
-ul.keys.omni li {
+ul.keys.omni li { /* omni-present esc */
        width: 8.5em;
 }
 
@@ -80,31 +132,254 @@ ul.keys li b[title] { /* mnemonic hover */
 ul.keys li[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 */
        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 */
        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 */
+}
+
+table.glyphs {
+       border-collapse: collapse;
+}
+.glyphs thead th, .glyphs td {
+       text-align: center;
+       width: 1.6em; /* regular interval */
+}
+.glyphs th, .glyphs td {
+       border-color: #778;
+       border: 1px solid #888;
+       background: #DDD;
+}
+.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%;
+}
+
+/* table headers */
+
+.glyphs th,
+.glyphs thead td {
+       border: 0;
+       background: transparent !important;
+}
+.glyphs thead td {
+       width: auto; /* no glyph cells in header */
+}
+.glyphs th {
+       padding: 0 0.2em;
+}
+.diinfo .glyphs th {
+       font-size: 50%; /* mostly insignificant here */
+       font-weight: normal;
+}
+.diinfo .glyphs tbody th {
+       text-align: right; /* variable width so keep near cells */
+       padding: 0 0.5em;
+}
+
+/* digraphs map */
+
+table.glyphs.dimap {
+       table-layout: fixed; /* prevent resizing, notably in msie6 */
+}
+.glyphs.dimap thead th, .glyphs.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 {
+       text-align: center; /* row headers are also glyph-sized */
+}
+
+.glyphs.dimap tbody, .glyphs.dimap colgroup {
+       border: 2px double #888; /* major character group grid */
+}
+.glyphs.dimap tbody {
+       border-width: 2px 0; /* horizontal group dividers */
+}
+.glyphs.dimap colgroup {
+       border-width: 0 2px; /* vertical divides */
+}
+
+/* digraph selection */
+
+.diinfo {
+       -moz-column-width: 24em;
+}
+.diinfo > div {
+       overflow: hidden;
+}
+
+.diinfo table.glyphs {
+       margin: 1ex 1ex 2ex;
+       float: left;
+}
+
+/* glyph cell overlay (digraph labels) */
+
+.glyphs.dilabel td {
+       padding: 0;
+       padding-bottom: 1.1ex; /* reserve space for label */
+       vertical-align: bottom;
+}
+.glyphs small {
+       font-size: 50%;
+       display: block;
+       margin-top: 0.2ex;
+       margin-bottom: -2.2ex; /* take cell padding */
+}
+.glyphs small.digraph {
+       background: #000;
+       color: #FFF;
+       opacity: 0.3;
+}
+.glyphs small.value {
+       background: #600;
+       color: #FFF;
+       opacity: 0.3;
+}
+
+/* character properties */
+
+td.X  {background: #FFF} /* unidentified */
+#digraphs td.Xa {color: #0A0} /* ascii */
+#digraphs td.Xl {color: #070} /* latin1 */
+#digraphs   .Xz {color: #D00} /* proposed */
+
+td.Lm, td.Mc, td.Me, td.Zl, td.Zp {background: #F00} /* unstyled */
+
+/* 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 */
+
+/* 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 */
+.ccmap td.Xr {opacity:.4}
+
+/* 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 */
+
+/* continents */
+td.c-af       {background: #FFC}
+td.c-eu       {background: #FDC}
+td.c-as       {background: #FDD}
+td.c-oc       {background: #EEDDF4}
+td.c-aa       {background: #E3E8FF}
+td.c-sa       {background: #DFF}
+td.c-na       {background: #DFD}
+
+/* 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}
+
 /* 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}
 
 .no {
        background: #EEE;
@@ -114,29 +389,13 @@ ul.keys li.ni {
        padding: 1px; /* same size as borderlessless keys */
 }
 
-dl.legend dt.vim,
-ul.keys li.vim {
+dl.legend dt.ext,
+ul.keys li.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;
-}
-
-/* footer */
-
-hr {
-       clear: both;
-       visibility: hidden;
-       height: 2ex;
-       margin: 0;
 }
-
-p.footer {
-       margin: 0;
-       text-align: center;
+dl.legend dt.new,
+ul.keys li.new {
+       opacity: .6;
 }
 
 /* l/r help columns */
@@ -148,13 +407,14 @@ p.footer {
 .help > * {
        display: table-cell;
        width: 20%;
+       vertical-align: top;
 }
 
 .left dl.legend {
-       margin-left: 6.2em;
+       margin-left: 6.4em; /* a bit over 6.2em to allow for borders+padding (border-sizing would work too) */
 }
 .left dl.legend dt {
-       margin-left: -6.2em; /* msie<=6 multiply this by two for some reason */
+       margin-left: -6.4em; /* msie<=6 multiply this by two for some reason */
        float: left;
        clear: left;
 }
@@ -162,10 +422,10 @@ p.footer {
        float: left; /* align next to dt (except msie<=7 does just the opposite) */
 }
 .right dl.legend {
-       margin-right: 6.2em;
+       margin-right: 6.4em;
 }
 .right dl.legend dt {
-       margin-right: -6.2em;
+       margin-right: -6.4em;
        float: right;
        clear: right;
 }
@@ -199,11 +459,24 @@ ul.legend-set li {
        margin: 6px 0; /* similar to dl legends */
 }
 
+.legend {
+       margin-top: 1em;
+}
+.legend table {
+       width: 100%;
+}
+.legend td {
+       padding: 0 0.2em;
+}
+
 /* printing hints */
 
-@page {size: landscape}
+@page {
+       size: landscape;
+       margin: 0;
+}
 
 @media print {
-       ul.legend-set {display: none}
+       ul.legend-set {display: none} /* current options only relevant on dynamic media */
 }