pre { | |
display: flex; | |
max-width: 100%; | |
color: var(--color-fog); | |
// This zero transform sets this element as the root for `position: fixed` | |
transform: translate(0); | |
// Color overrides | |
&, | |
&.z-code { | |
background: var(--color-navy); | |
.z-path { | |
color: #679f70; | |
span { | |
color: #e6e1dc; | |
} | |
} | |
} | |
// Container for the element (span or table) containing the lines of code | |
code { | |
background: initial; | |
color: inherit; | |
display: block; | |
overflow-x: auto; | |
padding: 20px; | |
width: 0; | |
flex: 1 1 auto; | |
} | |
// Language name in top right corner | |
&[data-lang] { | |
padding-top: 28px; | |
&::before { | |
content: attr(data-lang); | |
color: rgba(var(--color-seaside-rgb), 0.5); | |
text-transform: lowercase; | |
font-family: "Inter Variable", sans-serif; | |
font-size: 0.75em; | |
font-weight: 700; | |
font-style: italic; | |
-webkit-user-select: none; | |
user-select: none; | |
pointer-events: none; | |
position: fixed; | |
top: 0; | |
line-height: 28px; | |
display: block; | |
width: 100%; | |
text-indent: 20px; | |
background: rgba(0, 0, 0, 0.25); | |
&[data-lang="sh"] { | |
content: "Shell"; | |
} | |
&[data-lang="rs"] { | |
content: "Rust"; | |
} | |
&[data-lang="js"] { | |
content: "JavaScript"; | |
} | |
&[data-lang="ts"] { | |
content: "TypeScript"; | |
} | |
} | |
} | |
// Code blocks with line numbers | |
&[data-linenos] table { | |
border-spacing: 0; | |
margin: -20px; | |
tr { | |
&:first-child td { | |
padding-top: 20px; | |
} | |
&:last-child td { | |
padding-bottom: 20px; | |
} | |
td { | |
&:first-child { | |
padding-left: 20px; | |
padding-right: 10px; | |
-webkit-user-select: none; | |
user-select: none; | |
vertical-align: top; | |
text-align: right; | |
background: rgba(0, 0, 0, 0.25); | |
} | |
&:last-child { | |
padding-left: 10px; | |
padding-right: 20px; | |
} | |
} | |
} | |
} | |
} | |