1
Fork 0

rustdoc: clean up docblock table CSS

* The rule `display: block` had no noticeable effect. Technically, because
  markdown tables have a tbody and thead, they get wrapped in an [anonymous
  table box] in the CSS tree, nested within the `<table>` element's block
  layout box.

  This rule was added in #87230 to make the table side-scrolling, but
  this same issue was doubly fixed in #88742 by wrapping it in an explicit
  `<div>` tag. Since accessibility advocates recommend the wrapper div over
  marking the table as `display: block`, we'll stick with that.

  https://adrianroselli.com/2020/11/under-engineered-responsive-tables.html

* The rule `width: calc(100% - 2px)` had no visible effect, because the
  anonymous table box was not affected.

* The style is tweaked to basically be the same style GitHub uses.
  In particular, it adds zebra stripes, and removes dotted borders.

[anonymous table box]: https://www.w3.org/TR/CSS2/tables.html#anonymous-boxes
This commit is contained in:
Michael Howell 2022-12-07 21:59:54 -07:00
parent b28d30e1e3
commit a09e8c55c6
4 changed files with 7 additions and 10 deletions

View file

@ -631,22 +631,16 @@ pre, .rustdoc.source .example-wrap {
.docblock table { .docblock table {
margin: .5em 0; margin: .5em 0;
width: calc(100% - 2px);
overflow-x: auto;
display: block;
border-collapse: collapse; border-collapse: collapse;
} }
.docblock table td { .docblock table td, .docblock table th {
padding: .5em; padding: .5em;
border: 1px dashed var(--border-color); border: 1px solid var(--border-color);
vertical-align: top;
} }
.docblock table th { .docblock table tr:nth-child(2n) {
padding: .5em; background: var(--table-alt-row-background-color);
text-align: left;
border: 1px solid var(--border-color);
} }
/* Shift "where ..." part of method or fn definition down a line */ /* Shift "where ..." part of method or fn definition down a line */

View file

@ -87,6 +87,7 @@ Original by Dempfi (https://github.com/dempfi/ayu)
--crate-search-hover-border: #e0e0e0; --crate-search-hover-border: #e0e0e0;
--source-sidebar-background-selected: #14191f; --source-sidebar-background-selected: #14191f;
--source-sidebar-background-hover: #14191f; --source-sidebar-background-hover: #14191f;
--table-alt-row-background-color: #191f26;
} }
h1, h2, h3, h4 { h1, h2, h3, h4 {

View file

@ -82,6 +82,7 @@
--crate-search-hover-border: #2196f3; --crate-search-hover-border: #2196f3;
--source-sidebar-background-selected: #333; --source-sidebar-background-selected: #333;
--source-sidebar-background-hover: #444; --source-sidebar-background-hover: #444;
--table-alt-row-background-color: #2A2A2A;
} }
.content .item-info::before { color: #ccc; } .content .item-info::before { color: #ccc; }

View file

@ -79,6 +79,7 @@
--crate-search-hover-border: #717171; --crate-search-hover-border: #717171;
--source-sidebar-background-selected: #fff; --source-sidebar-background-selected: #fff;
--source-sidebar-background-hover: #e0e0e0; --source-sidebar-background-hover: #e0e0e0;
--table-alt-row-background-color: #F5F5F5;
} }
.content .item-info::before { color: #ccc; } .content .item-info::before { color: #ccc; }