2130 lines
37 KiB
CSS
2130 lines
37 KiB
CSS
/* See FiraSans-LICENSE.txt for the Fira Sans license. */
|
|
@font-face {
|
|
font-family: 'Fira Sans';
|
|
font-style: normal;
|
|
font-weight: 400;
|
|
src: local('Fira Sans'),
|
|
url("FiraSans-Regular.woff2") format("woff2"),
|
|
url("FiraSans-Regular.woff") format('woff');
|
|
font-display: swap;
|
|
}
|
|
@font-face {
|
|
font-family: 'Fira Sans';
|
|
font-style: normal;
|
|
font-weight: 500;
|
|
src: local('Fira Sans Medium'),
|
|
url("FiraSans-Medium.woff2") format("woff2"),
|
|
url("FiraSans-Medium.woff") format('woff');
|
|
font-display: swap;
|
|
}
|
|
|
|
/* See SourceSerif4-LICENSE.md for the Source Serif 4 license. */
|
|
@font-face {
|
|
font-family: 'Source Serif 4';
|
|
font-style: normal;
|
|
font-weight: 400;
|
|
src: local('Source Serif 4'),
|
|
url("SourceSerif4-Regular.ttf.woff2") format("woff2"),
|
|
url("SourceSerif4-Regular.ttf.woff") format("woff");
|
|
font-display: swap;
|
|
}
|
|
@font-face {
|
|
font-family: 'Source Serif 4';
|
|
font-style: italic;
|
|
font-weight: 400;
|
|
src: local('Source Serif 4 Italic'),
|
|
url("SourceSerif4-It.ttf.woff2") format("woff2"),
|
|
url("SourceSerif4-It.ttf.woff") format("woff");
|
|
font-display: swap;
|
|
}
|
|
@font-face {
|
|
font-family: 'Source Serif 4';
|
|
font-style: normal;
|
|
font-weight: 700;
|
|
src: local('Source Serif 4 Bold'),
|
|
url("SourceSerif4-Bold.ttf.woff2") format("woff2"),
|
|
url("SourceSerif4-Bold.ttf.woff") format("woff");
|
|
font-display: swap;
|
|
}
|
|
|
|
/* See SourceCodePro-LICENSE.txt for the Source Code Pro license. */
|
|
@font-face {
|
|
font-family: 'Source Code Pro';
|
|
font-style: normal;
|
|
font-weight: 400;
|
|
/* Avoid using locally installed font because bad versions are in circulation:
|
|
* see https://github.com/rust-lang/rust/issues/24355 */
|
|
src: url("SourceCodePro-Regular.ttf.woff2") format("woff2"),
|
|
url("SourceCodePro-Regular.ttf.woff") format("woff");
|
|
font-display: swap;
|
|
}
|
|
@font-face {
|
|
font-family: 'Source Code Pro';
|
|
font-style: italic;
|
|
font-weight: 400;
|
|
src: url("SourceCodePro-It.ttf.woff2") format("woff2"),
|
|
url("SourceCodePro-It.ttf.woff") format("woff");
|
|
font-display: swap;
|
|
}
|
|
@font-face {
|
|
font-family: 'Source Code Pro';
|
|
font-style: normal;
|
|
font-weight: 600;
|
|
src: url("SourceCodePro-Semibold.ttf.woff2") format("woff2"),
|
|
url("SourceCodePro-Semibold.ttf.woff") format("woff");
|
|
font-display: swap;
|
|
}
|
|
|
|
/* Avoid using legacy CJK serif fonts in Windows like Batang. */
|
|
@font-face {
|
|
font-family: 'NanumBarunGothic';
|
|
src: url("NanumBarunGothic.ttf.woff2") format("woff2"),
|
|
url("NanumBarunGothic.ttf.woff") format("woff");
|
|
font-display: swap;
|
|
unicode-range: U+AC00-D7AF, U+1100-11FF, U+3130-318F, U+A960-A97F, U+D7B0-D7FF;
|
|
}
|
|
|
|
* {
|
|
-webkit-box-sizing: border-box;
|
|
-moz-box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
/* This part handles the "default" theme being used depending on the system one. */
|
|
html {
|
|
content: "";
|
|
}
|
|
@media (prefers-color-scheme: light) {
|
|
html {
|
|
content: "light";
|
|
}
|
|
}
|
|
@media (prefers-color-scheme: dark) {
|
|
html {
|
|
content: "dark";
|
|
}
|
|
}
|
|
|
|
/* General structure and fonts */
|
|
|
|
body {
|
|
font: 16px/1.4 "Source Serif 4", NanumBarunGothic, serif;
|
|
margin: 0;
|
|
position: relative;
|
|
|
|
-webkit-font-feature-settings: "kern", "liga";
|
|
-moz-font-feature-settings: "kern", "liga";
|
|
font-feature-settings: "kern", "liga";
|
|
}
|
|
|
|
h1 {
|
|
font-size: 1.5em;
|
|
}
|
|
h2 {
|
|
font-size: 1.4em;
|
|
}
|
|
h3 {
|
|
font-size: 1.3em;
|
|
}
|
|
h1, h2, h3, h4, h5, h6 {
|
|
font-weight: 500;
|
|
}
|
|
h1, h2, h3, h4 {
|
|
margin: 20px 0 15px 0;
|
|
padding-bottom: 6px;
|
|
}
|
|
.docblock h3, .docblock h4, h5, h6 {
|
|
margin: 15px 0 5px 0;
|
|
}
|
|
h1.fqn {
|
|
display: flex;
|
|
border-bottom: 1px dashed;
|
|
margin-top: 0;
|
|
|
|
/* workaround to keep flex from breaking below 700 px width due to the float: right on the nav
|
|
above the h1 */
|
|
padding-left: 1px;
|
|
}
|
|
h1.fqn > .in-band > a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
/* The only headings that get underlines are:
|
|
Markdown-generated headings within the top-doc
|
|
Rustdoc-generated h2 section headings (e.g. "Implementations", "Required Methods", etc)
|
|
Underlines elsewhere in the documentation break up visual flow and tend to invert
|
|
section hierarchies. */
|
|
h2,
|
|
.top-doc h3,
|
|
.top-doc h4,
|
|
.sidebar .others h3 {
|
|
border-bottom: 1px solid;
|
|
}
|
|
h3.code-header {
|
|
font-size: 1.1em;
|
|
}
|
|
h4.code-header {
|
|
font-size: 1em;
|
|
}
|
|
h3.code-header, h4.code-header {
|
|
font-weight: 600;
|
|
border-bottom-style: none;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
.impl,
|
|
.impl-items .method,
|
|
.methods .method,
|
|
.impl-items .type,
|
|
.methods .type,
|
|
.impl-items .associatedconstant,
|
|
.methods .associatedconstant,
|
|
.impl-items .associatedtype,
|
|
.methods .associatedtype {
|
|
flex-basis: 100%;
|
|
font-weight: 600;
|
|
margin-top: 16px;
|
|
margin-bottom: 10px;
|
|
position: relative;
|
|
}
|
|
|
|
div.impl-items > div {
|
|
padding-left: 0;
|
|
}
|
|
|
|
h1, h2, h3, h4, h5, h6,
|
|
.sidebar, a.source, .search-input, .search-results .result-name,
|
|
.content table td:first-child > a,
|
|
.item-left > a,
|
|
div.item-list .out-of-band, span.since,
|
|
#source-sidebar, #sidebar-toggle,
|
|
details.rustdoc-toggle > summary::before,
|
|
div.impl-items > div:not(.docblock):not(.item-info),
|
|
.content ul.crate a.crate, a.srclink,
|
|
/* This selector is for the items listed in the "all items" page. */
|
|
#main > ul.docblock > li > a {
|
|
font-family: "Fira Sans", Arial, NanumBarunGothic, sans-serif;
|
|
}
|
|
|
|
.content ul.crate a.crate {
|
|
font-size: 16px/1.6;
|
|
}
|
|
|
|
ol, ul {
|
|
padding-left: 25px;
|
|
}
|
|
ul ul, ol ul, ul ol, ol ol {
|
|
margin-bottom: .6em;
|
|
}
|
|
|
|
p {
|
|
margin: 0 0 .6em 0;
|
|
}
|
|
|
|
summary {
|
|
outline: none;
|
|
}
|
|
|
|
/* Fix some style changes due to normalize.css 8 */
|
|
|
|
td,
|
|
th {
|
|
padding: 0;
|
|
}
|
|
|
|
table {
|
|
border-collapse: collapse;
|
|
}
|
|
|
|
button,
|
|
input,
|
|
optgroup,
|
|
select,
|
|
textarea {
|
|
color: inherit;
|
|
font: inherit;
|
|
margin: 0;
|
|
}
|
|
|
|
/* end tweaks for normalize.css 8 */
|
|
|
|
.rustdoc {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: nowrap;
|
|
}
|
|
|
|
main {
|
|
position: relative;
|
|
flex-grow: 1;
|
|
padding: 10px 15px 40px 45px;
|
|
height: 100vh;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.main-inner {
|
|
max-width: 960px;
|
|
margin-right: auto;
|
|
}
|
|
|
|
details:not(.rustdoc-toggle) summary {
|
|
margin-bottom: .6em;
|
|
}
|
|
|
|
code, pre, a.test-arrow, .code-header {
|
|
font-family: "Source Code Pro", monospace;
|
|
}
|
|
.docblock code, .docblock-short code {
|
|
border-radius: 3px;
|
|
padding: 0 0.1em;
|
|
}
|
|
.docblock pre code, .docblock-short pre code {
|
|
padding: 0;
|
|
}
|
|
pre {
|
|
padding: 14px;
|
|
}
|
|
.docblock.item-decl {
|
|
margin-left: 0;
|
|
}
|
|
.item-decl pre {
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.source .content pre {
|
|
padding: 20px;
|
|
}
|
|
|
|
img {
|
|
max-width: 100%;
|
|
}
|
|
|
|
li {
|
|
position: relative;
|
|
}
|
|
|
|
.source .content {
|
|
margin-top: 50px;
|
|
max-width: none;
|
|
overflow: visible;
|
|
margin-left: 0px;
|
|
}
|
|
|
|
nav.sub {
|
|
font-size: 16px;
|
|
text-transform: uppercase;
|
|
}
|
|
|
|
.sidebar {
|
|
width: 200px;
|
|
overflow-y: scroll;
|
|
}
|
|
|
|
.rustdoc.source .sidebar {
|
|
overflow-y: auto;
|
|
min-width: 200px;
|
|
height: 100vh;
|
|
}
|
|
|
|
/* Improve the scrollbar display on firefox */
|
|
* {
|
|
scrollbar-width: initial;
|
|
}
|
|
.sidebar {
|
|
scrollbar-width: thin;
|
|
}
|
|
|
|
/* Improve the scrollbar display on webkit-based browsers */
|
|
::-webkit-scrollbar {
|
|
width: 12px;
|
|
}
|
|
.sidebar::-webkit-scrollbar {
|
|
width: 8px;
|
|
}
|
|
::-webkit-scrollbar-track {
|
|
-webkit-box-shadow: inset 0;
|
|
}
|
|
|
|
.sidebar .block > ul > li {
|
|
margin-right: -10px;
|
|
}
|
|
|
|
/* Everything else */
|
|
|
|
.hidden {
|
|
display: none !important;
|
|
}
|
|
|
|
.logo-container {
|
|
height: 100px;
|
|
width: 100px;
|
|
position: relative;
|
|
margin: 20px auto;
|
|
display: block;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.logo-container > img {
|
|
max-width: 100px;
|
|
max-height: 100px;
|
|
height: 100%;
|
|
position: absolute;
|
|
left: 50%;
|
|
top: 50%;
|
|
transform: translate(-50%, -50%);
|
|
display: block;
|
|
}
|
|
|
|
.sidebar .location {
|
|
border: 1px solid;
|
|
font-size: 17px;
|
|
margin: 30px 10px 20px 10px;
|
|
text-align: center;
|
|
word-wrap: break-word;
|
|
font-weight: inherit;
|
|
padding: 0;
|
|
}
|
|
|
|
.sidebar .version {
|
|
font-size: 15px;
|
|
text-align: center;
|
|
border-bottom: 1px solid;
|
|
overflow-wrap: break-word;
|
|
word-wrap: break-word; /* deprecated */
|
|
word-break: break-word; /* Chrome, non-standard */
|
|
}
|
|
|
|
.location:empty {
|
|
border: none;
|
|
}
|
|
|
|
.location a:first-of-type {
|
|
font-weight: 500;
|
|
}
|
|
.location a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.block {
|
|
padding: 0;
|
|
margin-bottom: 14px;
|
|
}
|
|
.block h2, .block h3 {
|
|
text-align: center;
|
|
}
|
|
.block ul, .block li {
|
|
margin: 0 10px;
|
|
padding: 0;
|
|
list-style: none;
|
|
}
|
|
|
|
.block a {
|
|
display: block;
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
line-height: 15px;
|
|
padding: 7px 5px;
|
|
font-size: 14px;
|
|
font-weight: 300;
|
|
transition: border 500ms ease-out;
|
|
}
|
|
|
|
.sidebar-title {
|
|
border-top: 1px solid;
|
|
border-bottom: 1px solid;
|
|
text-align: center;
|
|
font-size: 17px;
|
|
margin-bottom: 5px;
|
|
font-weight: inherit;
|
|
padding: 0;
|
|
}
|
|
|
|
.sidebar-links {
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.sidebar-links > a {
|
|
padding-left: 10px;
|
|
width: 100%;
|
|
}
|
|
|
|
.sidebar-menu {
|
|
display: none;
|
|
}
|
|
|
|
.source .content pre.rust {
|
|
white-space: pre;
|
|
overflow: auto;
|
|
padding-left: 0;
|
|
}
|
|
|
|
.rustdoc .example-wrap {
|
|
display: inline-flex;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.example-wrap {
|
|
position: relative;
|
|
width: 100%;
|
|
}
|
|
|
|
.example-wrap > pre.line-number {
|
|
overflow: initial;
|
|
border: 1px solid;
|
|
padding: 13px 8px;
|
|
text-align: right;
|
|
border-top-left-radius: 5px;
|
|
border-bottom-left-radius: 5px;
|
|
}
|
|
|
|
.example-wrap > pre.rust a:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.rustdoc:not(.source) .example-wrap > pre:not(.line-number) {
|
|
width: 100%;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.rustdoc:not(.source) .example-wrap > pre.line-numbers {
|
|
width: auto;
|
|
overflow-x: visible;
|
|
}
|
|
|
|
.rustdoc .example-wrap > pre {
|
|
margin: 0;
|
|
}
|
|
|
|
#search {
|
|
position: relative;
|
|
}
|
|
|
|
#results > table {
|
|
width: 100%;
|
|
table-layout: fixed;
|
|
}
|
|
|
|
.content > .example-wrap pre.line-numbers {
|
|
position: relative;
|
|
-webkit-user-select: none;
|
|
-moz-user-select: none;
|
|
-ms-user-select: none;
|
|
user-select: none;
|
|
}
|
|
.line-numbers span {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.docblock-short {
|
|
overflow-wrap: anywhere;
|
|
}
|
|
.docblock-short p {
|
|
display: inline;
|
|
}
|
|
|
|
.docblock-short p {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
margin: 0;
|
|
}
|
|
/* Wrap non-pre code blocks (`text`) but not (```text```). */
|
|
.docblock > :not(pre) > code,
|
|
.docblock-short > :not(pre) > code {
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
.top-doc .docblock h2 { font-size: 1.3em; }
|
|
.top-doc .docblock h3 { font-size: 1.15em; }
|
|
.top-doc .docblock h4,
|
|
.top-doc .docblock h5 {
|
|
font-size: 1.1em;
|
|
}
|
|
.top-doc .docblock h6 {
|
|
font-size: 1em;
|
|
}
|
|
|
|
.docblock h5 { font-size: 1em; }
|
|
.docblock h6 { font-size: 0.95em; }
|
|
|
|
.docblock {
|
|
margin-left: 24px;
|
|
position: relative;
|
|
}
|
|
|
|
.docblock > :not(.information) {
|
|
max-width: 100%;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
.content .out-of-band {
|
|
flex-grow: 0;
|
|
text-align: right;
|
|
font-size: 23px;
|
|
margin: 0px;
|
|
padding: 0 0 0 12px;
|
|
font-weight: normal;
|
|
}
|
|
|
|
.method > .code-header, .trait-impl > .code-header, .invisible > .code-header {
|
|
max-width: calc(100% - 41px);
|
|
display: block;
|
|
}
|
|
|
|
.invisible {
|
|
width: 100%;
|
|
display: inline-block;
|
|
}
|
|
|
|
.content .in-band {
|
|
flex-grow: 1;
|
|
margin: 0px;
|
|
padding: 0px;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.in-band > code, .in-band > .code-header {
|
|
display: inline-block;
|
|
}
|
|
|
|
#main {
|
|
position: relative;
|
|
}
|
|
#main > .since {
|
|
top: inherit;
|
|
font-family: "Fira Sans", Arial, sans-serif;
|
|
}
|
|
|
|
.content table:not(.table-display) {
|
|
border-spacing: 0 5px;
|
|
}
|
|
.content td { vertical-align: top; }
|
|
.content td:first-child { padding-right: 20px; }
|
|
.content td p:first-child { margin-top: 0; }
|
|
.content td h1, .content td h2 { margin-left: 0; font-size: 1.1em; }
|
|
.content tr:first-child td { border-top: 0; }
|
|
|
|
.docblock table {
|
|
margin: .5em 0;
|
|
width: calc(100% - 2px);
|
|
overflow-x: auto;
|
|
display: block;
|
|
}
|
|
|
|
.docblock table td {
|
|
padding: .5em;
|
|
border: 1px dashed;
|
|
}
|
|
|
|
.docblock table th {
|
|
padding: .5em;
|
|
text-align: left;
|
|
border: 1px solid;
|
|
}
|
|
|
|
.fields + table {
|
|
margin-bottom: 1em;
|
|
}
|
|
|
|
.content .item-list {
|
|
list-style-type: none;
|
|
padding: 0;
|
|
}
|
|
|
|
.content .multi-column {
|
|
-moz-column-count: 5;
|
|
-moz-column-gap: 2.5em;
|
|
-webkit-column-count: 5;
|
|
-webkit-column-gap: 2.5em;
|
|
column-count: 5;
|
|
column-gap: 2.5em;
|
|
}
|
|
.content .multi-column li { width: 100%; display: inline-block; }
|
|
|
|
.content > .methods > .method {
|
|
font-size: 1em;
|
|
position: relative;
|
|
}
|
|
/* Shift "where ..." part of method or fn definition down a line */
|
|
.content .method .where,
|
|
.content .fn .where,
|
|
.content .where.fmt-newline {
|
|
display: block;
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
.content .methods > div:not(.notable-traits):not(.method) {
|
|
margin-left: 40px;
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.content .docblock > .impl-items {
|
|
margin-left: 20px;
|
|
margin-top: -34px;
|
|
}
|
|
.content .docblock >.impl-items .table-display {
|
|
margin: 0;
|
|
}
|
|
.content .docblock >.impl-items table td {
|
|
padding: 0;
|
|
}
|
|
.content .docblock > .impl-items .table-display, .impl-items table td {
|
|
border: none;
|
|
}
|
|
|
|
.content .item-info code {
|
|
font-size: 90%;
|
|
}
|
|
|
|
.content .item-info {
|
|
position: relative;
|
|
margin-left: 33px;
|
|
}
|
|
|
|
.sub-variant > div > .item-info {
|
|
margin-top: initial;
|
|
}
|
|
|
|
.content .item-info::before {
|
|
content: '⬑';
|
|
font-size: 25px;
|
|
position: absolute;
|
|
top: -6px;
|
|
left: -19px;
|
|
}
|
|
|
|
.content .impl-items .docblock, .content .impl-items .item-info {
|
|
margin-bottom: .6em;
|
|
}
|
|
|
|
.content .impl-items > .item-info {
|
|
margin-left: 40px;
|
|
}
|
|
|
|
.methods > .item-info, .content .impl-items > .item-info {
|
|
margin-top: -8px;
|
|
}
|
|
|
|
.impl-items {
|
|
flex-basis: 100%;
|
|
}
|
|
|
|
#main > .item-info {
|
|
margin-top: 0;
|
|
}
|
|
|
|
nav:not(.sidebar) {
|
|
border-bottom: 1px solid;
|
|
padding-bottom: 10px;
|
|
margin-bottom: 25px;
|
|
}
|
|
nav.main {
|
|
padding: 20px 0;
|
|
text-align: center;
|
|
}
|
|
nav.main .current {
|
|
border-top: 1px solid;
|
|
border-bottom: 1px solid;
|
|
}
|
|
nav.main .separator {
|
|
border: 1px solid;
|
|
display: inline-block;
|
|
height: 23px;
|
|
margin: 0 20px;
|
|
}
|
|
nav.sum { text-align: right; }
|
|
nav.sub form { display: inline; }
|
|
|
|
a {
|
|
text-decoration: none;
|
|
background: transparent;
|
|
}
|
|
|
|
.small-section-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
position: relative;
|
|
}
|
|
|
|
.small-section-header:hover > .anchor {
|
|
display: initial;
|
|
}
|
|
|
|
.in-band:hover > .anchor, .impl:hover > .anchor, .method.trait-impl:hover > .anchor,
|
|
.type.trait-impl:hover > .anchor, .associatedconstant.trait-impl:hover > .anchor,
|
|
.associatedtype.trait-impl:hover > .anchor {
|
|
display: inline-block;
|
|
position: absolute;
|
|
}
|
|
.anchor {
|
|
display: none;
|
|
position: absolute;
|
|
left: -0.5em;
|
|
background: none !important;
|
|
}
|
|
.anchor.field {
|
|
left: -5px;
|
|
}
|
|
.small-section-header > .anchor {
|
|
left: -15px;
|
|
padding-right: 8px;
|
|
}
|
|
h2.small-section-header > .anchor {
|
|
padding-right: 6px;
|
|
}
|
|
.anchor::before {
|
|
content: '§';
|
|
}
|
|
|
|
.docblock a:not(.srclink):not(.test-arrow):hover,
|
|
.docblock-short a:not(.srclink):not(.test-arrow):hover, .item-info a {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.invisible > .srclink,
|
|
.method > .code-header + .srclink {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
font-size: 17px;
|
|
font-weight: normal;
|
|
}
|
|
|
|
.block a.current.crate { font-weight: 500; }
|
|
|
|
.item-table {
|
|
display: table;
|
|
}
|
|
.item-row {
|
|
display: table-row;
|
|
}
|
|
.item-left, .item-right {
|
|
display: table-cell;
|
|
}
|
|
.item-left {
|
|
padding-right: 1.2rem;
|
|
}
|
|
|
|
.search-container {
|
|
position: relative;
|
|
}
|
|
.search-container > div {
|
|
display: inline-flex;
|
|
width: calc(100% - 63px);
|
|
}
|
|
#crate-search {
|
|
min-width: 115px;
|
|
margin-top: 5px;
|
|
padding: 6px;
|
|
padding-right: 19px;
|
|
flex: none;
|
|
border: 0;
|
|
border-right: 0;
|
|
border-radius: 4px 0 0 4px;
|
|
outline: none;
|
|
cursor: pointer;
|
|
border-right: 1px solid;
|
|
-moz-appearance: none;
|
|
-webkit-appearance: none;
|
|
/* Removes default arrow from firefox */
|
|
text-indent: 0.01px;
|
|
text-overflow: "";
|
|
background-repeat: no-repeat;
|
|
background-color: transparent;
|
|
background-size: 20px;
|
|
background-position: calc(100% - 1px) 56%;
|
|
background-image: /* AUTOREPLACE: */url("down-arrow.svg");
|
|
}
|
|
.search-container > .top-button {
|
|
position: absolute;
|
|
right: 0;
|
|
top: 10px;
|
|
}
|
|
.search-input {
|
|
/* Override Normalize.css: we have margins and do
|
|
not want to overflow - the `moz` attribute is necessary
|
|
until Firefox 29, too early to drop at this point */
|
|
-moz-box-sizing: border-box !important;
|
|
box-sizing: border-box !important;
|
|
outline: none;
|
|
border: none;
|
|
border-radius: 1px;
|
|
margin-top: 5px;
|
|
padding: 10px 16px;
|
|
font-size: 17px;
|
|
transition: border-color 300ms ease;
|
|
transition: border-radius 300ms ease-in-out;
|
|
transition: box-shadow 300ms ease-in-out;
|
|
width: 100%;
|
|
}
|
|
|
|
#crate-search + .search-input {
|
|
border-radius: 0 1px 1px 0;
|
|
width: calc(100% - 32px);
|
|
}
|
|
|
|
.search-input:focus {
|
|
border-radius: 2px;
|
|
border: 0;
|
|
outline: 0;
|
|
}
|
|
|
|
.search-results {
|
|
display: none;
|
|
padding-bottom: 2em;
|
|
}
|
|
|
|
.search-results.active {
|
|
display: block;
|
|
/* prevent overhanging tabs from moving the first result */
|
|
clear: both;
|
|
}
|
|
|
|
.search-results .desc > span {
|
|
white-space: nowrap;
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
display: block;
|
|
}
|
|
|
|
.search-results > a {
|
|
display: block;
|
|
width: 100%;
|
|
/* A little margin ensures the browser's outlining of focused links has room to display. */
|
|
margin-left: 2px;
|
|
margin-right: 2px;
|
|
border-bottom: 1px solid #aaa3;
|
|
}
|
|
|
|
.search-results > a > div {
|
|
display: flex;
|
|
flex-flow: row wrap;
|
|
}
|
|
|
|
.search-results .result-name, .search-results div.desc, .search-results .result-description {
|
|
width: 50%;
|
|
}
|
|
.search-results .result-name {
|
|
padding-right: 1em;
|
|
}
|
|
|
|
.search-results .result-name > span {
|
|
display: inline-block;
|
|
margin: 0;
|
|
font-weight: normal;
|
|
}
|
|
|
|
body.blur > :not(#help) {
|
|
filter: blur(8px);
|
|
-webkit-filter: blur(8px);
|
|
opacity: .7;
|
|
}
|
|
|
|
#help {
|
|
width: 100%;
|
|
height: 100vh;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
#help > div {
|
|
flex: 0 0 auto;
|
|
box-shadow: 0 0 6px rgba(0,0,0,.2);
|
|
width: 550px;
|
|
height: auto;
|
|
border: 1px solid;
|
|
}
|
|
#help dt {
|
|
float: left;
|
|
clear: left;
|
|
display: block;
|
|
margin-right: 0.5rem;
|
|
}
|
|
#help span.top, #help span.bottom {
|
|
text-align: center;
|
|
display: block;
|
|
font-size: 18px;
|
|
|
|
}
|
|
#help span.top {
|
|
text-align: center;
|
|
display: block;
|
|
margin: 10px 0;
|
|
border-bottom: 1px solid;
|
|
padding-bottom: 4px;
|
|
margin-bottom: 6px;
|
|
}
|
|
#help span.bottom {
|
|
clear: both;
|
|
border-top: 1px solid;
|
|
}
|
|
#help dd { margin: 5px 35px; }
|
|
#help .infos { padding-left: 0; }
|
|
#help h1, #help h2 { margin-top: 0; }
|
|
#help > div div {
|
|
width: 50%;
|
|
float: left;
|
|
padding: 0 20px 20px 17px;;
|
|
}
|
|
|
|
.item-info .stab {
|
|
display: table;
|
|
}
|
|
.stab {
|
|
padding: 3px;
|
|
margin-bottom: 5px;
|
|
font-size: 90%;
|
|
font-weight: normal;
|
|
}
|
|
.stab p {
|
|
display: inline;
|
|
}
|
|
|
|
.stab .emoji {
|
|
font-size: 1.2em;
|
|
}
|
|
|
|
/* Black one-pixel outline around emoji shapes */
|
|
.emoji {
|
|
text-shadow:
|
|
1px 0 0 black,
|
|
-1px 0 0 black,
|
|
0 1px 0 black,
|
|
0 -1px 0 black;
|
|
}
|
|
|
|
.module-item .stab,
|
|
.import-item .stab {
|
|
border-radius: 3px;
|
|
display: inline-block;
|
|
font-size: 80%;
|
|
line-height: 1.2;
|
|
margin-bottom: 0;
|
|
margin-left: .3em;
|
|
padding: 2px;
|
|
vertical-align: text-bottom;
|
|
}
|
|
|
|
.module-item.unstable,
|
|
.import-item.unstable {
|
|
opacity: 0.65;
|
|
}
|
|
|
|
.since {
|
|
font-weight: normal;
|
|
font-size: initial;
|
|
}
|
|
|
|
.impl-items .since, .impl .since, .methods .since {
|
|
padding-left: 12px;
|
|
padding-right: 2px;
|
|
position: initial;
|
|
}
|
|
|
|
.impl-items .srclink, .impl .srclink, .methods .srclink {
|
|
/* Override header settings otherwise it's too bold */
|
|
font-size: 17px;
|
|
font-weight: normal;
|
|
}
|
|
|
|
.rightside {
|
|
float: right;
|
|
}
|
|
|
|
.has-srclink {
|
|
font-size: 16px;
|
|
margin-bottom: 12px;
|
|
/* Push the src link out to the right edge consistently */
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.variants_table {
|
|
width: 100%;
|
|
}
|
|
|
|
.variants_table tbody tr td:first-child {
|
|
width: 1%; /* make the variant name as small as possible */
|
|
}
|
|
|
|
td.summary-column {
|
|
width: 100%;
|
|
}
|
|
|
|
.summary {
|
|
padding-right: 0px;
|
|
}
|
|
|
|
pre.rust .question-mark {
|
|
font-weight: bold;
|
|
}
|
|
|
|
a.test-arrow {
|
|
display: inline-block;
|
|
position: absolute;
|
|
padding: 5px 10px 5px 10px;
|
|
border-radius: 5px;
|
|
font-size: 130%;
|
|
top: 5px;
|
|
right: 5px;
|
|
z-index: 1;
|
|
}
|
|
a.test-arrow:hover{
|
|
text-decoration: none;
|
|
}
|
|
|
|
.section-header:hover a:before {
|
|
position: absolute;
|
|
left: -25px;
|
|
padding-right: 10px; /* avoid gap that causes hover to disappear */
|
|
content: '\2002\00a7\2002';
|
|
}
|
|
|
|
.section-header:hover a {
|
|
text-decoration: none;
|
|
}
|
|
|
|
.code-attribute {
|
|
font-weight: 300;
|
|
}
|
|
|
|
.since + .srclink {
|
|
padding-left: 10px;
|
|
}
|
|
|
|
.item-spacer {
|
|
width: 100%;
|
|
height: 12px;
|
|
}
|
|
|
|
.out-of-band > span.since {
|
|
position: initial;
|
|
font-size: 20px;
|
|
margin-right: 5px;
|
|
}
|
|
|
|
h3.variant {
|
|
font-weight: 600;
|
|
font-size: 1.1em;
|
|
margin-bottom: 10px;
|
|
border-bottom: none;
|
|
}
|
|
|
|
.sub-variant h4 {
|
|
font-size: 1em;
|
|
font-weight: 400;
|
|
border-bottom: none;
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.sub-variant {
|
|
margin-left: 24px;
|
|
margin-bottom: 40px;
|
|
}
|
|
|
|
.sub-variant > .sub-variant-field {
|
|
margin-left: 24px;
|
|
}
|
|
|
|
.toggle-label {
|
|
display: inline-block;
|
|
margin-left: 4px;
|
|
margin-top: 3px;
|
|
}
|
|
|
|
.top-doc .docblock > .section-header:first-child {
|
|
margin-left: 15px;
|
|
}
|
|
.top-doc .docblock > .section-header:first-child:hover > a:before {
|
|
left: -10px;
|
|
}
|
|
|
|
.docblock > .section-header:first-child {
|
|
margin-top: 0;
|
|
}
|
|
|
|
:target > code, :target > .code-header {
|
|
opacity: 1;
|
|
}
|
|
|
|
:target {
|
|
padding-right: 3px;
|
|
}
|
|
|
|
.information {
|
|
position: absolute;
|
|
left: -25px;
|
|
margin-top: 7px;
|
|
z-index: 1;
|
|
}
|
|
|
|
.tooltip {
|
|
position: relative;
|
|
display: inline-block;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.tooltip::after {
|
|
display: none;
|
|
text-align: center;
|
|
padding: 5px 3px 3px 3px;
|
|
border-radius: 6px;
|
|
margin-left: 5px;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.tooltip.ignore::after {
|
|
content: "This example is not tested";
|
|
}
|
|
.tooltip.compile_fail::after {
|
|
content: "This example deliberately fails to compile";
|
|
}
|
|
.tooltip.should_panic::after {
|
|
content: "This example panics";
|
|
}
|
|
.tooltip.edition::after {
|
|
content: "This code runs with edition " attr(data-edition);
|
|
}
|
|
|
|
.tooltip::before {
|
|
content: " ";
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 16px;
|
|
margin-top: -5px;
|
|
border-width: 5px;
|
|
border-style: solid;
|
|
display: none;
|
|
}
|
|
|
|
.tooltip:hover::before, .tooltip:hover::after {
|
|
display: inline;
|
|
}
|
|
|
|
.tooltip.compile_fail, .tooltip.should_panic, .tooltip.ignore {
|
|
font-weight: bold;
|
|
font-size: 20px;
|
|
}
|
|
|
|
.notable-traits-tooltip {
|
|
display: inline-block;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.notable-traits:hover .notable-traits-tooltiptext,
|
|
.notable-traits .notable-traits-tooltiptext.force-tooltip {
|
|
display: inline-block;
|
|
}
|
|
|
|
.notable-traits .notable-traits-tooltiptext {
|
|
display: none;
|
|
padding: 5px 3px 3px 3px;
|
|
border-radius: 6px;
|
|
margin-left: 5px;
|
|
z-index: 10;
|
|
font-size: 16px;
|
|
cursor: default;
|
|
position: absolute;
|
|
border: 1px solid;
|
|
}
|
|
|
|
.notable-traits-tooltip::after {
|
|
/* The margin on the tooltip does not capture hover events,
|
|
this extends the area of hover enough so that mouse hover is not
|
|
lost when moving the mouse to the tooltip */
|
|
content: "\00a0\00a0\00a0";
|
|
}
|
|
|
|
.notable-traits .notable, .notable-traits .docblock {
|
|
margin: 0;
|
|
}
|
|
|
|
.notable-traits .notable {
|
|
margin: 0;
|
|
margin-bottom: 13px;
|
|
font-size: 19px;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.notable-traits .docblock code.content{
|
|
margin: 0;
|
|
padding: 0;
|
|
font-size: 20px;
|
|
}
|
|
|
|
/* Example code has the "Run" button that needs to be positioned relative to the pre */
|
|
pre.rust.rust-example-rendered {
|
|
position: relative;
|
|
}
|
|
|
|
pre.rust {
|
|
tab-size: 4;
|
|
-moz-tab-size: 4;
|
|
}
|
|
|
|
.search-failed {
|
|
text-align: center;
|
|
margin-top: 20px;
|
|
display: none;
|
|
}
|
|
|
|
.search-failed.active {
|
|
display: block;
|
|
}
|
|
|
|
.search-failed > ul {
|
|
text-align: left;
|
|
max-width: 570px;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
|
|
#titles {
|
|
height: 35px;
|
|
}
|
|
|
|
#titles > button {
|
|
float: left;
|
|
width: 33.3%;
|
|
text-align: center;
|
|
font-size: 18px;
|
|
cursor: pointer;
|
|
border: 0;
|
|
border-top: 2px solid;
|
|
}
|
|
|
|
#titles > button:not(:last-child) {
|
|
margin-right: 1px;
|
|
width: calc(33.3% - 1px);
|
|
}
|
|
|
|
#titles > button > div.count {
|
|
display: inline-block;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.notable-traits {
|
|
cursor: pointer;
|
|
z-index: 2;
|
|
margin-left: 5px;
|
|
}
|
|
|
|
#all-types {
|
|
text-align: center;
|
|
border: 1px solid;
|
|
margin: 0 10px;
|
|
margin-bottom: 10px;
|
|
display: block;
|
|
border-radius: 7px;
|
|
}
|
|
#all-types > p {
|
|
margin: 5px 0;
|
|
}
|
|
|
|
#sidebar-toggle {
|
|
position: fixed;
|
|
top: 30px;
|
|
left: 300px;
|
|
z-index: 10;
|
|
padding: 3px;
|
|
border-top-right-radius: 3px;
|
|
border-bottom-right-radius: 3px;
|
|
cursor: pointer;
|
|
font-weight: bold;
|
|
transition: left .5s;
|
|
font-size: 1.2em;
|
|
border: 1px solid;
|
|
border-left: 0;
|
|
}
|
|
#source-sidebar {
|
|
position: fixed;
|
|
top: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
width: 300px;
|
|
z-index: 1;
|
|
overflow: auto;
|
|
transition: left .5s;
|
|
border-right: 1px solid;
|
|
}
|
|
#source-sidebar > .title {
|
|
font-size: 1.5em;
|
|
text-align: center;
|
|
border-bottom: 1px solid;
|
|
margin-bottom: 6px;
|
|
}
|
|
|
|
.theme-picker {
|
|
position: absolute;
|
|
left: 11px;
|
|
top: 19px;
|
|
}
|
|
|
|
.theme-picker button {
|
|
outline: none;
|
|
}
|
|
|
|
#settings-menu, #help-button {
|
|
position: absolute;
|
|
top: 10px;
|
|
}
|
|
|
|
#settings-menu {
|
|
right: 0;
|
|
outline: none;
|
|
}
|
|
|
|
#theme-picker, #settings-menu, #help-button, #copy-path {
|
|
padding: 4px;
|
|
width: 27px;
|
|
height: 29px;
|
|
border: 1px solid;
|
|
border-radius: 3px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
#help-button {
|
|
right: 30px;
|
|
font-family: "Fira Sans", Arial, sans-serif;
|
|
text-align: center;
|
|
font-size: 17px;
|
|
padding-top: 2px;
|
|
}
|
|
|
|
#copy-path {
|
|
background: initial;
|
|
margin-left: 10px;
|
|
padding: 0;
|
|
padding-left: 2px;
|
|
border: 0;
|
|
}
|
|
|
|
#theme-choices {
|
|
display: none;
|
|
position: absolute;
|
|
left: 0;
|
|
top: 28px;
|
|
border: 1px solid;
|
|
border-radius: 3px;
|
|
z-index: 1;
|
|
cursor: pointer;
|
|
}
|
|
|
|
#theme-choices > button {
|
|
border: none;
|
|
width: 100%;
|
|
padding: 4px 8px;
|
|
text-align: center;
|
|
background: rgba(0,0,0,0);
|
|
}
|
|
|
|
#theme-choices > button:not(:first-child) {
|
|
border-top: 1px solid;
|
|
}
|
|
|
|
kbd {
|
|
display: inline-block;
|
|
padding: 3px 5px;
|
|
font: 15px monospace;
|
|
line-height: 10px;
|
|
vertical-align: middle;
|
|
border: solid 1px;
|
|
border-radius: 3px;
|
|
box-shadow: inset 0 -1px 0;
|
|
cursor: default;
|
|
}
|
|
|
|
.hidden-by-impl-hider,
|
|
.hidden-by-usual-hider {
|
|
/* important because of conflicting rule for small screens */
|
|
display: none !important;
|
|
}
|
|
|
|
#implementations-list > h3 > span.in-band {
|
|
width: 100%;
|
|
}
|
|
|
|
.table-display {
|
|
width: 100%;
|
|
border: 0;
|
|
border-collapse: collapse;
|
|
border-spacing: 0;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.table-display tr td:first-child {
|
|
padding-right: 0;
|
|
}
|
|
|
|
.table-display tr td:last-child {
|
|
float: right;
|
|
}
|
|
.table-display .out-of-band {
|
|
position: relative;
|
|
font-size: 19px;
|
|
display: block;
|
|
}
|
|
#implementors-list > .impl-items .table-display .out-of-band {
|
|
font-size: 17px;
|
|
}
|
|
|
|
.table-display td:hover .anchor {
|
|
display: block;
|
|
top: 2px;
|
|
left: -5px;
|
|
}
|
|
|
|
#main > ul {
|
|
padding-left: 10px;
|
|
}
|
|
#main > ul > li {
|
|
list-style: none;
|
|
}
|
|
|
|
.non-exhaustive {
|
|
margin-bottom: 1em;
|
|
}
|
|
|
|
div.children {
|
|
padding-left: 27px;
|
|
display: none;
|
|
}
|
|
div.name {
|
|
cursor: pointer;
|
|
position: relative;
|
|
margin-left: 16px;
|
|
}
|
|
div.files > a {
|
|
display: block;
|
|
padding: 0 3px;
|
|
}
|
|
div.files > a:hover, div.name:hover {
|
|
background-color: #a14b4b;
|
|
}
|
|
div.name.expand + .children {
|
|
display: block;
|
|
}
|
|
div.name::before {
|
|
content: "\25B6";
|
|
padding-left: 4px;
|
|
font-size: 0.7em;
|
|
position: absolute;
|
|
left: -16px;
|
|
top: 4px;
|
|
}
|
|
div.name.expand::before {
|
|
transform: rotate(90deg);
|
|
left: -15px;
|
|
top: 2px;
|
|
}
|
|
|
|
/* The hideme class is used on summary tags that contain a span with
|
|
placeholder text shown only when the toggle is closed. For instance,
|
|
"Expand description" or "Show methods". */
|
|
details.rustdoc-toggle > summary.hideme {
|
|
cursor: pointer;
|
|
}
|
|
|
|
details.rustdoc-toggle > summary {
|
|
list-style: none;
|
|
}
|
|
details.rustdoc-toggle > summary::-webkit-details-marker,
|
|
details.rustdoc-toggle > summary::marker {
|
|
display: none;
|
|
}
|
|
|
|
details.rustdoc-toggle > summary.hideme > span {
|
|
margin-left: 9px;
|
|
}
|
|
|
|
details.rustdoc-toggle > summary::before {
|
|
content: "";
|
|
cursor: pointer;
|
|
width: 17px;
|
|
height: max(17px, 1.1em);
|
|
background-repeat: no-repeat;
|
|
background-position: top left;
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
opacity: .5;
|
|
}
|
|
|
|
/* Screen readers see the text version at the end the line.
|
|
Visual readers see the icon at the start of the line, but small and transparent. */
|
|
details.rustdoc-toggle > summary::after {
|
|
content: "Expand";
|
|
overflow: hidden;
|
|
width: 0;
|
|
height: 0;
|
|
position: absolute;
|
|
}
|
|
|
|
details.rustdoc-toggle > summary.hideme::after {
|
|
/* "hideme" toggles already have a description when they're contracted */
|
|
content: "";
|
|
}
|
|
|
|
details.rustdoc-toggle > summary:focus::before,
|
|
details.rustdoc-toggle > summary:hover::before {
|
|
opacity: 1;
|
|
}
|
|
|
|
details.rustdoc-toggle.top-doc > summary,
|
|
details.rustdoc-toggle.top-doc > summary::before,
|
|
details.rustdoc-toggle.non-exhaustive > summary,
|
|
details.rustdoc-toggle.non-exhaustive > summary::before {
|
|
font-family: 'Fira Sans';
|
|
font-size: 16px;
|
|
}
|
|
|
|
details.non-exhaustive {
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
details.rustdoc-toggle > summary.hideme::before {
|
|
position: relative;
|
|
}
|
|
|
|
details.rustdoc-toggle > summary:not(.hideme)::before {
|
|
position: absolute;
|
|
left: -24px;
|
|
top: 3px;
|
|
}
|
|
|
|
.impl-items > details.rustdoc-toggle > summary:not(.hideme)::before {
|
|
position: absolute;
|
|
left: -24px;
|
|
}
|
|
|
|
/* When a "hideme" summary is open and the "Expand description" or "Show
|
|
methods" text is hidden, we want the [-] toggle that remains to not
|
|
affect the layout of the items to its right. To do that, we use
|
|
absolute positioning. Note that we also set position: relative
|
|
on the parent <details> to make this work properly. */
|
|
details.rustdoc-toggle[open] > summary.hideme {
|
|
position: absolute;
|
|
}
|
|
|
|
details.rustdoc-toggle {
|
|
position: relative;
|
|
}
|
|
|
|
details.rustdoc-toggle[open] > summary.hideme > span {
|
|
display: none;
|
|
}
|
|
|
|
details.undocumented[open] > summary::before,
|
|
details.rustdoc-toggle[open] > summary::before,
|
|
details.rustdoc-toggle[open] > summary.hideme::before {
|
|
background-image: /* AUTOREPLACE: */url("toggle-minus.svg");
|
|
}
|
|
|
|
details.undocumented > summary::before, details.rustdoc-toggle > summary::before {
|
|
background-image: /* AUTOREPLACE: */url("toggle-plus.svg");
|
|
}
|
|
|
|
details.rustdoc-toggle[open] > summary::before,
|
|
details.rustdoc-toggle[open] > summary.hideme::before {
|
|
width: 17px;
|
|
height: max(17px, 1.1em);
|
|
background-repeat: no-repeat;
|
|
background-position: top left;
|
|
display: inline-block;
|
|
content: "";
|
|
}
|
|
|
|
details.rustdoc-toggle[open] > summary::after,
|
|
details.rustdoc-toggle[open] > summary.hideme::after {
|
|
content: "Collapse";
|
|
}
|
|
|
|
/* Media Queries */
|
|
|
|
@media (min-width: 701px) {
|
|
/* In case there is no documentation before a code block, we need to add some margin at the top
|
|
to prevent an overlay between the "collapse toggle" and the information tooltip.
|
|
However, it's not needed with smaller screen width because the doc/code block is always put
|
|
"one line" below. */
|
|
.docblock > .information:first-child > .tooltip {
|
|
margin-top: 16px;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 700px) {
|
|
body {
|
|
padding-top: 0px;
|
|
}
|
|
|
|
main {
|
|
height: auto;
|
|
padding-left: 15px;
|
|
padding-top: 0px;
|
|
overflow-y: visible;
|
|
}
|
|
|
|
.rustdoc {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.rustdoc > .sidebar {
|
|
width: 100%;
|
|
height: 45px;
|
|
min-height: 40px;
|
|
max-height: 45px;
|
|
margin: 0;
|
|
padding: 0 15px;
|
|
position: static;
|
|
z-index: 11;
|
|
}
|
|
|
|
.sidebar > .location {
|
|
float: right;
|
|
margin: 0px;
|
|
margin-top: 2px;
|
|
padding: 3px 10px 1px 10px;
|
|
min-height: 39px;
|
|
background: inherit;
|
|
text-align: left;
|
|
font-size: 24px;
|
|
}
|
|
|
|
.sidebar .location:empty {
|
|
padding: 0;
|
|
}
|
|
|
|
.sidebar .logo-container {
|
|
width: 35px;
|
|
height: 35px;
|
|
margin-top: 5px;
|
|
margin-bottom: 5px;
|
|
float: left;
|
|
margin-left: 50px;
|
|
}
|
|
|
|
.sidebar .logo-container > img {
|
|
max-width: 35px;
|
|
max-height: 35px;
|
|
}
|
|
|
|
.sidebar-menu {
|
|
position: fixed;
|
|
z-index: 10;
|
|
font-size: 2rem;
|
|
cursor: pointer;
|
|
width: 45px;
|
|
left: 0;
|
|
text-align: center;
|
|
display: block;
|
|
border-bottom: 1px solid;
|
|
border-right: 1px solid;
|
|
height: 45px;
|
|
}
|
|
|
|
.rustdoc.source > .sidebar > .sidebar-menu {
|
|
display: none;
|
|
}
|
|
|
|
/* We do NOT hide this element so that alternative device readers still have this information
|
|
available. */
|
|
.sidebar-elems {
|
|
position: fixed;
|
|
z-index: 1;
|
|
top: 45px;
|
|
bottom: 0;
|
|
width: 246px;
|
|
/* We move the sidebar to the left by its own width so it doesn't appear. */
|
|
left: -246px;
|
|
overflow-y: auto;
|
|
border-right: 1px solid;
|
|
}
|
|
|
|
.sidebar > .block.version {
|
|
overflow: hidden;
|
|
border-bottom: none;
|
|
margin-bottom: 0;
|
|
height: 100%;
|
|
padding-left: 12px;
|
|
}
|
|
.sidebar > .block.version > div.narrow-helper {
|
|
float: left;
|
|
width: 1px;
|
|
height: 100%;
|
|
}
|
|
.sidebar > .block.version > p {
|
|
/* hide Version text if too narrow */
|
|
margin: 0;
|
|
min-width: 55px;
|
|
/* vertically center */
|
|
display: flex;
|
|
align-items: center;
|
|
height: 100%;
|
|
}
|
|
|
|
nav.sub {
|
|
width: calc(100% - 32px);
|
|
margin-left: 32px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.content {
|
|
margin-left: 0px;
|
|
}
|
|
|
|
#search {
|
|
margin-left: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
.anchor {
|
|
display: none !important;
|
|
}
|
|
|
|
.theme-picker {
|
|
left: 10px;
|
|
top: 9px;
|
|
z-index: 1;
|
|
}
|
|
|
|
.notable-traits {
|
|
position: absolute;
|
|
left: -22px;
|
|
top: 24px;
|
|
}
|
|
|
|
#titles > button > div.count {
|
|
float: left;
|
|
width: 100%;
|
|
}
|
|
|
|
#titles {
|
|
height: 50px;
|
|
}
|
|
|
|
.sidebar.mobile {
|
|
position: sticky;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
margin-left: 0;
|
|
background-color: rgba(0,0,0,0);
|
|
}
|
|
|
|
.show-it, .sidebar-elems:focus-within {
|
|
z-index: 2;
|
|
left: 0;
|
|
}
|
|
|
|
.show-it > .block.items {
|
|
margin: 8px 0;
|
|
}
|
|
|
|
.show-it > .block.items > ul {
|
|
margin: 0;
|
|
}
|
|
|
|
.show-it > .block.items > ul > li {
|
|
text-align: center;
|
|
margin: 2px 0;
|
|
}
|
|
|
|
.show-it > .block.items > ul > li > a {
|
|
font-size: 21px;
|
|
}
|
|
|
|
/* Because of ios, we need to actually have a full height sidebar title so the
|
|
* actual sidebar can show up. But then we need to make it transparent so we don't
|
|
* hide content. The filler just allows to create the background for the sidebar
|
|
* title. But because of the absolute position, I had to lower the z-index.
|
|
*/
|
|
#sidebar-filler {
|
|
position: fixed;
|
|
left: 45px;
|
|
width: calc(100% - 45px);
|
|
top: 0;
|
|
height: 45px;
|
|
z-index: -1;
|
|
border-bottom: 1px solid;
|
|
}
|
|
|
|
#main > details.rustdoc-toggle > summary::before,
|
|
#main > div > details.rustdoc-toggle > summary::before {
|
|
left: -11px;
|
|
}
|
|
|
|
#all-types {
|
|
margin: 10px;
|
|
}
|
|
|
|
#sidebar-toggle {
|
|
top: 100px;
|
|
width: 30px;
|
|
font-size: 1.5rem;
|
|
text-align: center;
|
|
padding: 0;
|
|
}
|
|
|
|
#source-sidebar {
|
|
z-index: 11;
|
|
}
|
|
|
|
#main > .line-numbers {
|
|
margin-top: 0;
|
|
}
|
|
|
|
.notable-traits .notable-traits-tooltiptext {
|
|
left: 0;
|
|
top: 100%;
|
|
}
|
|
|
|
/* We don't display the help button on mobile devices. */
|
|
#help-button {
|
|
display: none;
|
|
}
|
|
|
|
/* Display an alternating layout on tablets and phones */
|
|
.item-table {
|
|
display: block;
|
|
}
|
|
.item-row {
|
|
display: flex;
|
|
flex-flow: column wrap;
|
|
}
|
|
.item-left, .item-right {
|
|
width: 100%;
|
|
}
|
|
|
|
.search-container > div {
|
|
width: calc(100% - 32px);
|
|
}
|
|
|
|
/* Display an alternating layout on tablets and phones */
|
|
.search-results > a {
|
|
border-bottom: 1px solid #aaa9;
|
|
padding: 5px 0px;
|
|
}
|
|
.search-results .result-name, .search-results div.desc, .search-results .result-description {
|
|
width: 100%;
|
|
}
|
|
.search-results div.desc, .search-results .result-description, .item-right {
|
|
padding-left: 2em;
|
|
}
|
|
}
|
|
|
|
@media print {
|
|
nav.sub, .content .out-of-band {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 464px) {
|
|
#titles, #titles > button {
|
|
height: 73px;
|
|
}
|
|
|
|
#main > table:not(.table-display) td {
|
|
word-break: break-word;
|
|
width: 50%;
|
|
}
|
|
|
|
.search-container > div {
|
|
display: block;
|
|
width: calc(100% - 37px);
|
|
}
|
|
|
|
#crate-search {
|
|
width: 100%;
|
|
border-radius: 4px;
|
|
border: 0;
|
|
}
|
|
|
|
#crate-search + .search-input {
|
|
width: calc(100% + 71px);
|
|
margin-left: -36px;
|
|
}
|
|
|
|
#theme-picker, #settings-menu {
|
|
padding: 5px;
|
|
width: 31px;
|
|
height: 31px;
|
|
}
|
|
|
|
#theme-picker {
|
|
margin-top: -2px;
|
|
}
|
|
|
|
#settings-menu {
|
|
top: 7px;
|
|
}
|
|
|
|
.docblock {
|
|
margin-left: 12px;
|
|
}
|
|
|
|
.docblock code {
|
|
overflow-wrap: anywhere;
|
|
}
|
|
}
|
|
|
|
|
|
/* Begin: styles for --scrape-examples feature */
|
|
|
|
.scraped-example-title {
|
|
font-family: 'Fira Sans';
|
|
}
|
|
|
|
.scraped-example:not(.expanded) .code-wrapper pre.line-numbers {
|
|
overflow: hidden;
|
|
max-height: 240px;
|
|
}
|
|
|
|
.scraped-example:not(.expanded) .code-wrapper .example-wrap pre.rust {
|
|
overflow-y: hidden;
|
|
max-height: 240px;
|
|
padding-bottom: 0;
|
|
}
|
|
|
|
.scraped-example .code-wrapper .prev {
|
|
position: absolute;
|
|
top: 0.25em;
|
|
right: 2.25em;
|
|
z-index: 100;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.scraped-example .code-wrapper .next {
|
|
position: absolute;
|
|
top: 0.25em;
|
|
right: 1.25em;
|
|
z-index: 100;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.scraped-example .code-wrapper .expand {
|
|
position: absolute;
|
|
top: 0.25em;
|
|
right: 0.25em;
|
|
z-index: 100;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.scraped-example .code-wrapper {
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: wrap;
|
|
width: 100%;
|
|
}
|
|
|
|
.scraped-example:not(.expanded) .code-wrapper:before {
|
|
content: " ";
|
|
width: 100%;
|
|
height: 5px;
|
|
position: absolute;
|
|
z-index: 100;
|
|
top: 0;
|
|
background: linear-gradient(to bottom, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
|
|
}
|
|
|
|
.scraped-example:not(.expanded) .code-wrapper:after {
|
|
content: " ";
|
|
width: 100%;
|
|
height: 5px;
|
|
position: absolute;
|
|
z-index: 100;
|
|
bottom: 0;
|
|
background: linear-gradient(to top, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
|
|
}
|
|
|
|
.scraped-example:not(.expanded) .code-wrapper {
|
|
overflow: hidden;
|
|
max-height: 240px;
|
|
}
|
|
|
|
.scraped-example .code-wrapper .line-numbers {
|
|
margin: 0;
|
|
padding: 14px 0;
|
|
}
|
|
|
|
.scraped-example .code-wrapper .line-numbers span {
|
|
padding: 0 14px;
|
|
}
|
|
|
|
.scraped-example .code-wrapper .example-wrap {
|
|
flex: 1;
|
|
overflow-x: auto;
|
|
overflow-y: hidden;
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.scraped-example .code-wrapper .example-wrap pre.rust {
|
|
overflow-x: inherit;
|
|
width: inherit;
|
|
overflow-y: hidden;
|
|
}
|
|
|
|
.scraped-example .example-wrap .rust span.highlight {
|
|
background: #fcffd6;
|
|
}
|
|
|
|
.scraped-example .example-wrap .rust span.highlight.focus {
|
|
background: #f6fdb0;
|
|
}
|
|
|
|
.more-examples-toggle {
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.more-examples-toggle summary {
|
|
color: #999;
|
|
font-family: 'Fira Sans';
|
|
}
|
|
|
|
.more-scraped-examples {
|
|
margin-left: 25px;
|
|
display: flex;
|
|
flex-direction: row;
|
|
width: calc(100% - 25px);
|
|
}
|
|
|
|
.more-scraped-examples-inner {
|
|
/* 20px is width of toggle-line + toggle-line-inner */
|
|
width: calc(100% - 20px);
|
|
}
|
|
|
|
.toggle-line {
|
|
align-self: stretch;
|
|
margin-right: 10px;
|
|
margin-top: 5px;
|
|
padding: 0 4px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.toggle-line:hover .toggle-line-inner {
|
|
background: #aaa;
|
|
}
|
|
|
|
.toggle-line-inner {
|
|
min-width: 2px;
|
|
background: #ddd;
|
|
height: 100%;
|
|
}
|
|
|
|
.more-scraped-examples .scraped-example {
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.more-scraped-examples .scraped-example:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
.example-links a {
|
|
margin-top: 20px;
|
|
font-family: 'Fira Sans';
|
|
}
|
|
|
|
.example-links ul {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
/* End: styles for --scrape-examples feature */
|