=================================================================== RCS file: /cvs/mandoc/mandoc.css,v retrieving revision 1.39 retrieving revision 1.51 diff -u -p -r1.39 -r1.51 --- mandoc/mandoc.css 2018/11/26 15:02:38 1.39 +++ mandoc/mandoc.css 2022/07/05 21:25:29 1.51 @@ -1,4 +1,4 @@ -/* $Id: mandoc.css,v 1.39 2018/11/26 15:02:38 schwarze Exp $ */ +/* $Id: mandoc.css,v 1.51 2022/07/05 21:25:29 schwarze Exp $ */ /* * Standard style sheet for mandoc(1) -Thtml and man.cgi(8). * @@ -10,14 +10,28 @@ /* Global defaults. */ -html { max-width: 65em; } -body { font-family: Helvetica,Arial,sans-serif; } +html { max-width: 65em; + --bg: #FFFFFF; + --fg: #000000; } +body { background: var(--bg); + color: var(--fg); + font-family: Helvetica,Arial,sans-serif; } +h1 { font-size: 110%; } table { margin-top: 0em; - margin-bottom: 0em; } -td { vertical-align: middle; } + margin-bottom: 0em; + border-collapse: collapse; } +/* Some browsers set border-color in a browser style for tbody, + * but not for table, resulting in inconsistent border styling. */ +tbody { border-color: inherit; } +tr { border-color: inherit; } +td { vertical-align: top; + padding-left: 0.2em; + padding-right: 0.2em; + border-color: inherit; } ul, ol, dl { margin-top: 0em; margin-bottom: 0em; } li, dt { margin-top: 1em; } +pre { font-family: inherit; } .permalink { border-bottom: thin dotted; color: inherit; @@ -39,30 +53,39 @@ table.results { margin-top: 1em; /* Header and footer lines. */ -table.head { width: 100%; +div[role=doc-pageheader] { + display: flex; border-bottom: 1px dotted #808080; margin-bottom: 1em; font-size: smaller; } -td.head-vol { text-align: center; } -td.head-rtitle { +.head-ltitle { flex: 1; } +.head-vol { flex: 0 1 auto; + text-align: center; } +.head-rtitle { flex: 1; text-align: right; } -table.foot { width: 100%; +div[role=doc-pagefooter] { + display: flex; + justify-content: space-between; border-top: 1px dotted #808080; margin-top: 1em; font-size: smaller; } -td.foot-os { text-align: right; } +.foot-left { flex: 1; } +.foot-date { flex: 0 1 auto; + text-align: center; } +.foot-os { flex: 1; + text-align: right; } /* Sections and paragraphs. */ -.manual-text { - margin-left: 3.8em; } -.Nd { display: inline; } -.Sh { margin-top: 1.2em; +main { margin-left: 3.8em; } +.Nd { } +section.Sh { } +h1.Sh { margin-top: 1.2em; margin-bottom: 0.6em; - margin-left: -3.2em; - font-size: 110%; } -.Ss { margin-top: 1.2em; + margin-left: -3.2em; } +section.Ss { } +h2.Ss { margin-top: 1.2em; margin-bottom: 0.6em; margin-left: -1.2em; font-size: 105%; } @@ -111,7 +134,8 @@ td.foot-os { text-align: right; } .Bl-ohang > dt { } .Bl-ohang > dd { margin-left: 0em; } -.Bl-tag { margin-left: 5.5em; } +.Bl-tag { margin-top: 0.6em; + margin-left: 5.5em; } .Bl-tag > dt { float: left; margin-top: 0em; @@ -120,11 +144,15 @@ td.foot-os { text-align: right; } vertical-align: top; } .Bl-tag > dd { clear: right; + column-count: 1; /* Force block formatting context. */ width: 100%; margin-top: 0em; margin-left: 0em; - vertical-align: top; - overflow: auto; } + margin-bottom: 0.6em; + vertical-align: top; } +.Bl-compact { margin-top: 0em; } +.Bl-compact > dd { + margin-bottom: 0em; } .Bl-compact > dt { margin-top: 0em; } @@ -156,7 +184,7 @@ td.foot-os { text-align: right; } .RsV { } .eqn { } -.tbl { } +.tbl td { vertical-align: middle; } .HP { margin-left: 3.8em; text-indent: -3.8em; } @@ -175,7 +203,7 @@ code.Nm { font-style: normal; font-family: inherit; } .Ar { font-style: italic; font-weight: normal; } -.Op { display: inline; } +.Op { display: inline flow; } .Ic { font-style: normal; font-weight: bold; font-family: inherit; } @@ -230,7 +258,7 @@ a.In { } /* Physical markup. */ -.Bf { display: inline; } +.Bf { display: inline flow; } .No { font-style: normal; font-weight: normal; } .Em { font-style: italic; @@ -241,12 +269,85 @@ a.In { } font-weight: normal; font-family: monospace; } +/* Tooltip support. */ + +h1.Sh, h2.Ss { position: relative; } +.An, .Ar, .Cd, .Cm, .Dv, .Em, .Er, .Ev, .Fa, .Fd, .Fl, .Fn, .Ft, +.Ic, code.In, .Lb, .Lk, .Ms, .Mt, .Nd, code.Nm, .Pa, .Rs, +.St, .Sx, .Sy, .Va, .Vt, .Xr { + display: inline flow; + position: relative; } + +.An::before { content: "An"; } +.Ar::before { content: "Ar"; } +.Cd::before { content: "Cd"; } +.Cm::before { content: "Cm"; } +.Dv::before { content: "Dv"; } +.Em::before { content: "Em"; } +.Er::before { content: "Er"; } +.Ev::before { content: "Ev"; } +.Fa::before { content: "Fa"; } +.Fd::before { content: "Fd"; } +.Fl::before { content: "Fl"; } +.Fn::before { content: "Fn"; } +.Ft::before { content: "Ft"; } +.Ic::before { content: "Ic"; } +code.In::before { content: "In"; } +.Lb::before { content: "Lb"; } +.Lk::before { content: "Lk"; } +.Ms::before { content: "Ms"; } +.Mt::before { content: "Mt"; } +.Nd::before { content: "Nd"; } +code.Nm::before { content: "Nm"; } +.Pa::before { content: "Pa"; } +.Rs::before { content: "Rs"; } +h1.Sh::before { content: "Sh"; } +h2.Ss::before { content: "Ss"; } +.St::before { content: "St"; } +.Sx::before { content: "Sx"; } +.Sy::before { content: "Sy"; } +.Va::before { content: "Va"; } +.Vt::before { content: "Vt"; } +.Xr::before { content: "Xr"; } + +.An::before, .Ar::before, .Cd::before, .Cm::before, +.Dv::before, .Em::before, .Er::before, .Ev::before, +.Fa::before, .Fd::before, .Fl::before, .Fn::before, .Ft::before, +.Ic::before, code.In::before, .Lb::before, .Lk::before, +.Ms::before, .Mt::before, .Nd::before, code.Nm::before, +.Pa::before, .Rs::before, +h1.Sh::before, h2.Ss::before, .St::before, .Sx::before, .Sy::before, +.Va::before, .Vt::before, .Xr::before { + opacity: 0; + transition: .15s ease opacity; + pointer-events: none; + position: absolute; + bottom: 100%; + box-shadow: 0 0 .35em var(--fg); + padding: .15em .25em; + white-space: nowrap; + font-family: Helvetica,Arial,sans-serif; + font-style: normal; + font-weight: bold; + background: var(--bg); + color: var(--fg); } +.An:hover::before, .Ar:hover::before, .Cd:hover::before, .Cm:hover::before, +.Dv:hover::before, .Em:hover::before, .Er:hover::before, .Ev:hover::before, +.Fa:hover::before, .Fd:hover::before, .Fl:hover::before, .Fn:hover::before, +.Ft:hover::before, .Ic:hover::before, code.In:hover::before, +.Lb:hover::before, .Lk:hover::before, .Ms:hover::before, .Mt:hover::before, +.Nd:hover::before, code.Nm:hover::before, .Pa:hover::before, +.Rs:hover::before, h1.Sh:hover::before, h2.Ss:hover::before, .St:hover::before, +.Sx:hover::before, .Sy:hover::before, .Va:hover::before, .Vt:hover::before, +.Xr:hover::before { + opacity: 1; + pointer-events: inherit; } + /* Overrides to avoid excessive margins on small devices. */ @media (max-width: 37.5em) { -.manual-text { - margin-left: 0.5em; } -.Sh, .Ss { margin-left: 0em; } +main { margin-left: 0.5em; } +h1.Sh, h2.Ss { margin-left: 0em; } .Bd-indent { margin-left: 2em; } .Bl-hang > dd { margin-left: 2em; } @@ -255,4 +356,13 @@ a.In { } margin-left: -2em; } .HP { margin-left: 2em; text-indent: -2em; } +} + +/* Overrides for a dark color scheme for accessibility. */ + +@media (prefers-color-scheme: dark) { +html { --bg: #1E1F21; + --fg: #EEEFF1; } +:link { color: #BAD7FF; } +:visited { color: #F6BAFF; } }