Модуль typography
base
body {
font-size : var(--body-size-base, 16px);
font-family : var(--body-font-family, "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
line-height : var(--body-line-height, 1.6);
color : var(--body-color, var(--gray800));
background-color: var(--body-bg, #fff);
}
// чтобы сравнять размер шрифта body и html для нормальной работы rem
html {
font-size: var(--html-size-base, var(--body-size-base, 16px));
}
h1, h2, h3, h4, h5, h6 {
font-weight: var(--headings-font-weight, normal);
line-height: var(--headings-line-height, 1.2);
}
h1, .h1 {
font-size: var(--h1-font-size, 2.5rem);
margin: var(--h1-margin, .7em 0 .5em 0);
}
h2, .h2 {
font-size: var(--h2-font-size, 2rem);
margin: var(--h2-margin, 1.1em 0 .5em 0);
}
h3, .h3 {
font-size: var(--h3-font-size, 1.75rem);
margin: var(--h3-margin, 1.1em 0 .5em 0);
}
h4, .h4 {
font-size: var(--h4-font-size, 1.5rem);
margin: var(--h4-margin, 1.1em 0 .5em 0);
}
h5, .h5 {
font-size: var(--h5-font-size, 1.25rem);
margin: var(--h5-margin, 1.1em 0 .5em 0);
}
h6, .h6 {
font-size: var(--h6-font-size, 1rem);
margin: var(--h6-margin, 1.1em 0 .5em 0);
}
p {
margin: var(--paragraph-margin, 0 0 1rem 0);
}
blocks
:root {
--blockquote-margin: 20px 0;
--blockquote-padding: 10px 0 10px 25px;
--blockquote-border-left: 5px solid var(--primary400);
--blockquote-color: var(--primary500);
--blockquote-border-radius: 8px;
--blockquote-background: null;
--blockquote-link-color: var(--primary500);
--blockquote-link-decoration: underline;
--blockquote-link-hover-color: var(--primary700);
--blockquote-link-hover-decoration: none;
--pre-bg-color: var(--primary50);
--pre-text-color: var(--gray800);
--pre-padding: 10px 15px 10px 25px;
--pre-margin: 20px 0;
--pre-border-top: var(--primary150);
--pre-border-right: var(--primary150);
--pre-border-bottom: var(--primary150);
--pre-border-left: var(--primary150);
--pre-line-height: 1.5;
--pre-border-radius: 3px;
--pre-font-size: .9rem;
--code-background: var(--primary50);
--code-padding: 0 5px;
--code-border-radius: 3px;
--code-font-size: .9em;
--code-color: inherit;
}
blockquote {
margin : var(--blockquote-margin);
padding : var(--blockquote-padding);
border-left : var(--blockquote-border-left);
color : var(--blockquote-color);
border-radius: var(--blockquote-border-radius);
background : var(--blockquote-background);
}
pre {
padding : var(--pre-padding);
margin : var(--pre-margin);
background : var(--pre-bg-color);
color : var(--pre-text-color);
border-top : var(--pre-border-top);
border-right : var(--pre-border-right);
border-bottom: var(--pre-border-bottom);
border-left : var(--pre-border-left);
line-height : var(--pre-line-height);
border-radius: var(--pre-border-radius);
font-size : var(--pre-font-size);
font-family : var(--font-family-monospace);
white-space : pre-wrap;
-moz-tab-size: 4;
tab-size : 4;
}
code {
font-family : var(--font-family-monospace);
background : var(--code-background);
padding : var(--code-padding);
border-radius: var(--code-border-radius);
font-size : var(--code-font-size);
color : var(--code-color);
white-space : nowrap;
display : inline-block;
}
var {
font-family: var(--font-family-monospace);
font-style: normal;
padding: 0px 5px;
background-color: var(--var-background-color, var(--orange100));
color: var(--var-text-color, var(--orange700));
font-size: var(--var-font-size, 0.9rem);
border-radius: var(--var-border-radius, 3px);
}
kbd {
font-family: var(--font-family-monospace);
font-style: normal;
padding: var(--kbd-padding, 1px 5px);
background-color: var(--kbd-background-color, var(--primary100));
color: var(--kbd-text-color, var(--primary800));
font-size: var(--kbd-font-size, 0.8em);
border-radius: var(--kbd-border-radius, 5px);
border: var(--kbd-border, 1px var(--primary200) solid);
}
samp {
font-family: var(--font-family-monospace);
font-style: normal;
padding: var(--samp-padding, 1px 5px);
background-color: var(--samp-background-color, var(--primary200));
color: var(--samp-text-color, var(--primary800));
font-size: var(--samp-font-size, 0.9rem);
border-radius: var(--samp-border-radius, 3px);
}
mark {
padding: var(--mark-padding, 0 4px);
background-color: var(--mark-background-color, var(--primary150));
color: var(--mark-text-color, var(--body-color));
border-radius: var(--mark-border-radius, 3px);
font-size: var(--mark-font-size, 0.95em);
}
details
details summary::before {
content : var(--summary-marker, "❯");
color : var(--summary-marker-color);
margin-right: var(--summary-marker-margin-r, .6em);
transition : transform var(--summary-marker-time, 0.2s);
display : inline-block;
}
details[open] summary:before {
transform: rotate(var(--summary-marker-rotate, 90deg));
}
images
img.circle {
border-radius: 50%;
}
img.thumbnail {
border: var(--thumbnail-border, var(--primary200) 1px solid);
padding: var(--thumbnail-padding, 4px);
}
img.left {
float : left;
margin: var(--img-left-margin, 5px 20px 5px 0);
}
img.right {
float : right;
margin: var(--img-right-margin, 5px 0 5px 20px);
}
img.center {
margin : 0 auto;
display: block;
}
lines
hr {
display : block;
padding : 0;
border : none;
border-top: var(--hr-border, 1px solid var(--primary300));
margin : var(--hr-margin, 20px 0);
}
hr.dashed {
border-top-style: dashed;
}
hr.dotted {
border-top-style: dotted;
}
hr.double {
border-top-style: double;
}
links
a {
color : var(--link-color, var(--primary500));
text-decoration: var(--link-decoration, none);
}
a:hover {
color : var(--link-hover-color, var(--primary700));
text-decoration: var(--link-hover-decoration, underline);
}
print
@media print {
body {
color : #000;
background: white;
}
ul,
img {
page-break-inside: avoid;
}
.hide-print {
display: none !important;
}
.flex {
display: block !important;
}
.flex>div {
width : 100% !important;
padding: 0 !important;
}
}
root
:root {
--font-family-monospace: Consolas, "PT Mono", "Roboto Mono", "Liberation Mono", "Segoe UI Mono", "Courier New", monospace,
}
table
table tr {
border-bottom: var(--table-tr-border-bottom, var(--primary100) 1px solid);
}
table thead tr {
background: var(--table-th-background, var(--primary100));
border-bottom: var(--table-th-border-bottom, var(--primary150) 1px solid);
border-top: var(--table-th-border-top, var(--primary150) 1px solid);
}
table th {
text-align: left;
padding: var(--table-th-padding, 0.6rem 0.5rem);
}
table td {
vertical-align: top;
padding: var(--table-td-padding, 0.5rem);
}
table.table-striped tbody tr:nth-of-type(odd) {
background: var(--table-striped-odd-bg, var(--primary50));
}
table.table-striped tbody tr:nth-of-type(even) {
background: var(--table-striped-even-bg, var(--primary100));
}
table.table-border-none tr {
border: none;
}
table.table-border td:not(:last-child) {
border-right: var(--table-td-border-right, var(--primary100) 1px solid);
}
table.table-border th:not(:last-child) {
border-right: var(--table-th-border-right, var(--primary150) 1px solid);
}
table.table-hover tbody tr:hover {
background: var(--table-tr-hover-bg, var(--primary150));
}