pico/scss/content/_typography.scss

279 lines
4.4 KiB
SCSS
Raw Normal View History

2019-11-27 15:31:49 +07:00
/**
* Typography
*/
// Reboot based on :
// - normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
// - sanitize.css v12.0.1 | CC0 1.0 Universal | github.com/csstools/sanitize.css
2019-11-27 15:31:49 +07:00
//
// Add the correct font weight in Chrome, Edge, and Safari
2019-11-27 15:31:49 +07:00
b,
strong {
2019-11-28 21:51:58 +07:00
font-weight: bolder;
2019-11-27 15:31:49 +07:00
}
// Prevent `sub` and `sup` elements from affecting the line height in all browsers
2019-11-27 15:31:49 +07:00
sub,
sup {
position: relative;
font-size: .75em;
2019-11-27 15:31:49 +07:00
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
2019-11-27 15:31:49 +07:00
}
sup {
top: -0.5em;
2019-11-27 15:31:49 +07:00
}
// Remove the margin on nested lists in Chrome, Edge, IE, and Safari
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
margin: 0;
2019-11-27 15:31:49 +07:00
}
// Remove the margin on nested lists in Edge 18- and IE
ol ol,
ol ul,
ul ol,
ul ul {
margin: 0;
2019-11-27 15:31:49 +07:00
}
// Pico
//
address,
blockquote,
dl,
figure,
form,
ol,
p,
pre,
table,
ul {
margin-top: 0;
2021-07-02 16:54:41 +07:00
margin-bottom: var(--typography-spacing-vertical);
color: var(--color);
2021-09-04 11:41:14 +07:00
font-size: var(--font-size);
font-weight: var(--font-weight);
2019-11-27 15:31:49 +07:00
font-style: normal;
}
// Links
// 1. Remove the gray background on active links in IE 10
2019-11-27 15:31:49 +07:00
a {
2021-07-02 16:54:41 +07:00
--color: var(--primary);
--background-color: transparent;
outline: none;
background-color: var(--background-color); // 1
color: var(--color);
text-decoration: var(--text-decoration);
@if $enable-transitions {
transition:
2020-09-29 08:38:35 +07:00
background-color var(--transition),
color var(--transition),
text-decoration var(--transition),
box-shadow var(--transition);
}
2019-11-27 15:31:49 +07:00
&:hover,
&:active,
&:focus {
2021-07-02 16:54:41 +07:00
--color: var(--primary-hover);
--text-decoration: underline;
2019-11-27 15:31:49 +07:00
}
&:focus {
2021-07-02 16:54:41 +07:00
--background-color: var(--primary-focus);
2019-11-27 15:31:49 +07:00
}
2021-07-02 16:54:41 +07:00
@if $enable-classes {
2019-11-27 15:31:49 +07:00
2021-07-02 16:54:41 +07:00
// Secondary
&.secondary {
--color: var(--secondary);
2019-11-27 15:31:49 +07:00
2021-07-02 16:54:41 +07:00
&:hover,
&:active,
&:focus {
--color: var(--secondary-hover);
}
&:focus {
--background-color: var(--secondary-focus);
}
2019-11-27 15:31:49 +07:00
}
2021-07-02 16:54:41 +07:00
// Contrast
&.contrast {
--color: var(--contrast);
2021-07-02 16:54:41 +07:00
&:hover,
&:active,
&:focus {
--color: var(--contrast-hover);
}
2021-07-02 16:54:41 +07:00
&:focus {
--background-color: var(--contrast-focus);
}
}
}
}
2019-11-27 15:31:49 +07:00
// Headings
h1,
h2,
h3,
h4,
h5,
h6 {
margin-top: 0;
2021-07-02 16:54:41 +07:00
margin-bottom: var(--typography-spacing-vertical);
color: var(--color);
font-family: var(--font-family);
font-size: var(--font-size);
font-weight: var(--font-weight);
2019-11-27 15:31:49 +07:00
}
h1 {
2021-07-02 16:54:41 +07:00
--color: var(--h1-color);
2019-11-27 15:31:49 +07:00
}
h2 {
2021-07-02 16:54:41 +07:00
--color: var(--h2-color);
2019-11-27 15:31:49 +07:00
}
h3 {
2021-07-02 16:54:41 +07:00
--color: var(--h3-color);
2019-11-27 15:31:49 +07:00
}
h4 {
2021-07-02 16:54:41 +07:00
--color: var(--h4-color);
2019-11-27 15:31:49 +07:00
}
h5 {
2021-07-02 16:54:41 +07:00
--color: var(--h5-color);
2019-11-27 15:31:49 +07:00
}
h6 {
2021-07-02 16:54:41 +07:00
--color: var(--h6-color);
2019-11-27 15:31:49 +07:00
}
// Margin-top for headings after a typography block
address,
blockquote,
dl,
figure,
form,
ol,
p,
pre,
table,
ul {
2021-07-02 16:54:41 +07:00
& ~ h1,
& ~ h2,
& ~ h3,
& ~ h4,
& ~ h5,
2020-09-12 10:38:23 +07:00
& ~ h6 {
2021-07-02 16:54:41 +07:00
margin-top: var(--typography-spacing-vertical);
2020-09-12 10:38:23 +07:00
}
2019-11-27 15:31:49 +07:00
}
2021-07-02 16:54:41 +07:00
// Heading group
hgroup {
2021-07-02 16:54:41 +07:00
margin-bottom: var(--typography-spacing-vertical);
2021-07-02 16:54:41 +07:00
> * {
margin-bottom: 0;
}
> *:last-child {
2021-07-02 16:54:41 +07:00
--color: var(--muted-color);
--font-weight: unset;
font-family: unset;
2021-07-02 16:54:41 +07:00
font-size: 1rem;
}
}
// Paragraphs
p {
2021-07-02 16:54:41 +07:00
margin-bottom: var(--typography-spacing-vertical);
}
2019-11-27 15:31:49 +07:00
// Small
small {
2021-07-02 16:54:41 +07:00
font-size: var(--font-size);
2019-11-27 15:31:49 +07:00
}
// Lists
ul,
ol {
2021-10-24 02:06:00 +07:00
padding-right: 0;
2021-07-02 16:54:41 +07:00
padding-left: var(--spacing);
2021-10-24 02:06:00 +07:00
padding-inline-end: 0;
padding-inline-start: var(--spacing);
2019-11-27 15:31:49 +07:00
li {
margin-bottom: calc(var(--typography-spacing-vertical) * 0.25);
2019-11-27 15:31:49 +07:00
}
}
2019-11-27 15:31:49 +07:00
ul li {
list-style: square;
}
2021-07-02 16:54:41 +07:00
// Highlighted text
2019-11-27 15:31:49 +07:00
mark {
padding: .125rem .25rem;
2021-07-02 16:54:41 +07:00
background-color: var(--mark-background-color);
color: var(--mark-color);
2019-11-27 15:31:49 +07:00
vertical-align: middle;
}
// Blockquote
blockquote {
display: block;
2021-07-02 16:54:41 +07:00
margin: var(--typography-spacing-vertical) 0;
padding: var(--spacing);
2021-10-24 02:06:00 +07:00
border-right: none;
2021-07-02 16:54:41 +07:00
border-left: .25rem solid var(--blockquote-border-color);
2021-10-24 02:06:00 +07:00
border-inline-end: none;
border-inline-start: .25rem solid var(--blockquote-border-color);
2019-11-27 15:31:49 +07:00
footer {
margin-top: calc(var(--typography-spacing-vertical) * 0.5);
2021-07-02 16:54:41 +07:00
color: var(--blockquote-footer-color);
2019-11-27 15:31:49 +07:00
}
}
// Abbreviations
// 1. Remove underline decoration in Chrome, Edge, IE, Opera, and Safari
2019-11-27 15:31:49 +07:00
abbr[title] {
border-bottom: 1px dotted;
text-decoration: none; // 1
cursor: help;
}
// Ins
ins {
2021-07-02 16:54:41 +07:00
color: var(--ins-color);
2019-11-27 15:31:49 +07:00
text-decoration: none;
}
2019-11-27 15:31:49 +07:00
// del
del {
2021-07-02 16:54:41 +07:00
color: var(--del-color);
2019-11-27 15:31:49 +07:00
}
// selection
::selection {
background-color: var(--primary-focus);
}