Files
klammertext/sks/table/css/table.css
T
ackandClaude Fable 5.1 217c0f3fc5 katom types from ref/ in groups, @table :leading in lines of text and :rulesep, @code under txt, one table style attribute, literal-klammer options (from dev 2e453744f5e9)
kdesc --katoms is Klammertext rendered from ref/, the types in titled groups,
with --katoms full for the regex column.  @table :leading L is L lines of the
surrounding text in html as in pdf (default 1), and :rulesep spaces the
horizontal rules.  The html table has one style attribute, so :column_width
fractions take effect again.  @code and @source_listing render in plain
text; captions are numbered per kind there, and a table needs no blank line
around it.  @c takes :nd, and an option-shaped word before a bar inside
literal code is code.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 22:37:13 +02:00

124 lines
3.0 KiB
CSS

table {
border-collapse: collapse;
}
tr {
padding: 1rem 0 0 0;
}
tr:first-child {
padding: 0;
}
td {
/* Vertical space is the table's line-height (:leading, set on the
<table> by table.py -- the html equivalent of \arraystretch), so no
vertical padding here: it was an html-only extra that kept rows
looser than the pdf's. Horizontal padding is :colsep, the same
value that becomes \tabcolsep; the fallback is for a table that
reaches this rule without the property. */
padding: 0 var(--colsep, 4pt);
vertical-align: top;
}
.vcenter {
vertical-align: middle;
}
/* Edge cells of a table with no outer vertical line (classes emitted by
table.py): the outer padding is dropped so the cell text aligns with
the text margin. With an outer line the padding stays -- text against
a border looks worse than text inset from a margin. The tex
counterpart is @{} in the column spec. */
.Fl {
padding-left: 0;
}
.Fr {
padding-right: 0;
}
.line_top {
border-top: 1px black solid;
}
.line_bottom {
border-bottom: 1px black solid;
}
.pad_top {
padding-top: .3rem;
}
.pad_bottom {
padding-bottom: .3rem;
}
:root {
--cell-border: 1px black solid;
}
/* The space between a rule and the text on either side of it: a cell is
padded on the side that CARRIES the rule, so a row with no rule is
untouched, a partial :hline pads only the cells it crosses, and the
table's outer rules are padded on the inner side alone. The amounts
began as booktabs' defaults (0.4ex above a rule, 0.65ex below one) and
were tuned by eye, 2026-09-20: half of the space below moved above, so
0.725ex above and 0.325ex below, the total unchanged. The tex target's
pair is in table.py (TEX_RULE_ABOVE/_BELOW) and differs on purpose -- a
TeX row and an html row distribute their own height differently around
the text. --rulesep is @table's :rulesep, a multiplier, set on the
<table> by table.py. "ex" is the x-height as RENDERED
(font-size-adjust), so the space tracks the visible type. */
.Bt {
border-top: var(--cell-border);
padding-top: calc(var(--rulesep, 1) * 0.325ex);
}
.Br {
border-right: var(--cell-border);
}
.Bb {
border-bottom: var(--cell-border);
padding-bottom: calc(var(--rulesep, 1) * 0.725ex);
}
.Bl {
border-left: var(--cell-border);
}
.Hl {
text-align: left;
}
.Hc {
text-align: center;
}
.Hr {
text-align: right;
}
/* A cell of a 'fit' column mixed with sized columns: nowrap floors the
column at its widest entry (the tex \widthof semantics). In a
full-width table (fractions/'*') the Wpct 1% width is added -- the
classic shrink idiom, so the column survives surplus distribution and
the extra window width flows to the sized columns. In a content-sized
'fill' table Wpct must NOT be used: a percentage cell blows an
auto-width table up to full width. */
.Wfit {
white-space: nowrap;
}
.Wpct {
width: 1%;
}
.cell_arrow {
padding: 1rem;
font-size: 1.5rem;
color: rgb(25%,25%,25%);
}