blob: 8d000fbf093019fa17afd6556f146a0628737792 [file] [log] [blame] [edit]
/* Custom CSS for the Rust Specification. */
/*
.parenthetical class used to keep e.g. "less-than symbol (<)" from wrapping
the end parenthesis onto its own line. Use in a span between the last word and
the parenthetical. So for this example, you'd use
```less-than <span class="parenthetical">symbol (`<`)</span>```
*/
.parenthetical {
white-space: nowrap;
}
/*
Warnings and notes:
Write the <div>s on their own line. E.g.
<div class="warning">
Warning: This is bad!
</div>
*/
main .warning p {
padding: 10px 20px;
margin: 20px 0;
}
main .warning p::before {
content: "⚠️ ";
}
.light main .warning p,
.rust main .warning p {
border: 2px solid red;
background: #ffcece;
}
.rust main .warning p {
/* overrides previous declaration */
border-color: #961717;
}
.coal main .warning p,
.navy main .warning p,
.ayu main .warning p {
background: #542626;
}
/* Make the links higher contrast on dark themes */
.coal main .warning p a,
.navy main .warning p a,
.ayu main .warning p a {
color: #80d0d0;
}
/* <kbd> tags can be used to highlight specific character elements. */
kbd {
border: 1px solid #999;
display: inline-block;
border-radius: 3px;
padding: 0 0.6ex;
background: #eee;
box-shadow: inset -1px -1px 0 #999;
vertical-align: baseline;
color: #000;
height: 1.55em;
font-style: normal;
font-weight: bold;
font-family: inherit;
font-size: revert;
line-height: revert;
}
kbd.optional {
border-style: dashed;
background: #fff;
}
var.optional {
border-style: dashed;
}
/* <var> tags can be used for non-terminals. */
var {
border: 1px solid #9c9;
box-shadow: inset -1px -1px 0 #9c9;
font-style: normal;
display: inline-block;
vertical-align: baseline;
border-radius: 7px;
padding: 0 4px;
background: #dfd;
margin: 2px;
}
var.type {
box-shadow: inset -1px -1px 0 #c99;
border-color: #c99;
background: #fdd;
}
/* <span class="repeat"> can be used for a grammar production that repeats zero or more times. */
span.repeat {
position: relative;
border: 1px dashed #393;
border-radius: 10px;
display: inline-block;
padding: 6px;
margin-left: 0.5ex;
margin-top: 1em;
margin-bottom: 0.5ex;
min-width: 3.8em;
text-align: center;
}
span.repeat::before {
content: "zero or more";
white-space: nowrap;
display: block;
text-align: center;
font-size: 0.75em;
position: absolute;
left: 0;
right: 0;
top: -1.4em;
color: #393;
}
var > span {
display: inline-block;
border-right: 1px dotted green;
padding-right: 0.5ex;
margin-right: 0.5ex;
font-style: italic;
}
/* <span class="version"> can be used to highlight a specific version of Rust. */
span.version {
float: right;
margin-left: 1em;
margin-bottom: 1em;
background: #f7c0eb;
padding: 0.2ex 0.5ex;
border-radius: 5px;
display: block;
box-shadow: inset -1px -1px 0 #a06894;
font-size: 0.9em;
}
/* <dfn> tags are used to indicate a specific word or phrase is being defined. */
dfn {
font-style: italic;
text-decoration: underline;
}
.content main {
/* Provides space on the left for the rule call-outs. */
padding-left: 4em;
}
/* Rules are generated via r[foo.bar] syntax, processed by mdbook-spec. */
.rule {
/* Allows the rule to be positioned. */
position: relative;
/* Position slightly to the left. */
left: -4em;
color: #999;
font-size: 0.8em;
}
/* mdbook will wrap the rule content in a <p> tag, with a margin. However, we
don't need the extra space
*/
.rule ~ p {
margin-top: 0px;
}
/* Change the default styling of blockquotes. */
blockquote {
padding: 1ex 1em;
margin: 1ex;
margin-left: 2em;
/* vw units allow this to be adaptive to the screen size so it isn't too small on mobile. */
margin-right: 12vw;
}
/* mdbook will wrap the blockquote content in a <p> tag, with a margin. However,
that adds too much space, so remove it.
*/
blockquote > p {
margin-top: 0px;
margin-bottom: 0px;
}
/* When the sidebar is visible, reduce the spacing of rules so that the
content doesn't get shifted too far, and make the text too narrow.
*/
.sidebar-visible .rule {
left: -1em;
}
.sidebar-visible .content main {
padding-left: 1em;
}
/* Remove the blue coloring of links on rules that mdbook normally sets. */
.rule-link {
color: #999 !important;
}
/* When clicking a rule, it is added as a URL fragment and the browser will
navigate to it. This adds an indicator that the linked rule is the one that
is "current", just like normal headers are in mdbook.
*/
.rule:target::before {
display: inline-block;
content: "»";
margin-inline-start: -20px;
width: 20px;
}
/* Sets the color for [!HISTORY] blockquote admonitions. */
.history > blockquote {
background: #f7c0eb;
}