pico/scss/content/_typography.scss

289 lines
4.7 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: .75rem;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -0.25rem;
}
sup {
top: -0.5rem;
}
// 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;
margin-bottom: $spacing-typography;
color: var(--text);
font-size: 1rem;
font-style: normal;
}
// Links
// 1. Remove the gray background on active links in IE 10
2019-11-27 15:31:49 +07:00
a {
background-color: transparent; // 1
color: var(--primary);
text-decoration: none;
@if $enable-transitions {
transition:
background-color $transition,
color $transition,
text-decoration $transition,
box-shadow $transition;
}
2019-11-27 15:31:49 +07:00
&:hover,
&:active,
&:focus {
color: var(--primary-hover);
text-decoration: underline;
}
&:focus {
outline: none;
background-color: var(--primary-focus);
}
}
// Link .secondary
@if $enable-classes {
a.secondary {
color: var(--secondary);
&:hover,
&:active,
&:focus {
color: var(--secondary-hover);
}
&:focus {
background-color: var(--secondary-focus);
}
}
}
// Link .contrast
@if $enable-classes {
a.contrast:not([role="button"]) {
box-shadow: inset 0 -.33rem 0 var(--contrast-border);
color: var(--contrast);
&:hover,
&:active,
&:focus {
box-shadow: inset 0 -.33rem 0 var(--contrast-border-h);
color: var(--contrast-hover);
text-decoration: none;
}
&:focus {
background-color: var(--contrast-focus);
}
}
}
2019-11-27 15:31:49 +07:00
// Headings
// Because vertical margins can collapse, we avoid `margin-top`
h1,
h2,
h3,
h4,
h5,
h6 {
margin-top: 0;
margin-bottom: $spacing-typography;
font-weight: $heading-weight;
}
h1 {
margin-bottom: $spacing-typography*2;
color: var(--h1);
font-size: 2rem;
}
h2 {
margin-bottom: $spacing-typography*1.75;
color: var(--h2);
font-size: 1.75rem;
}
h3 {
margin-bottom: $spacing-typography*1.5;
color: var(--h3);
font-size: 1.5rem;
}
h4 {
margin-bottom: $spacing-typography*1.25;
color: var(--h4);
font-size: 1.25rem;
}
h5 {
margin-bottom: $spacing-typography*1.125;
color: var(--h5);
font-size: 1.125rem;
}
h6 {
color: var(--h6);
font-size: 1rem;
}
// Multi-level heading
hgroup {
margin-bottom: $spacing-typography;
*{
2019-11-27 15:31:49 +07:00
margin-bottom: 0;
}
> *:last-child {
2019-11-28 21:51:58 +07:00
color: var(--muted-text);
font-size: 1.125rem;
font-weight: normal;
}
2019-11-27 15:31:49 +07:00
}
// Paragraphs
p {
margin-bottom: $spacing-typography/2;
}
// Small
small {
font-size: 85%;
@if map-get($breakpoints, "sm") and $enable-responsive-typography {
@media (min-width: map-get($breakpoints, "sm")) {
font-size: 83%;
}
}
@if map-get($breakpoints, "md") and $enable-responsive-typography {
@media (min-width: map-get($breakpoints, "md")) {
font-size: 81%;
}
}
@if map-get($breakpoints, "lg") and $enable-responsive-typography {
@media (min-width: map-get($breakpoints, "lg")) {
font-size: 79%;
}
}
@if map-get($breakpoints, "lg") and $enable-responsive-typography {
@media (min-width: map-get($breakpoints, "xl")) {
font-size: 77%;
}
}
}
// Lists
ul,
ol {
padding-left: $spacing-typography;
li {
margin-bottom: $spacing-typography/2;
}
}
2019-11-27 15:31:49 +07:00
ul li {
list-style: square;
}
// Marked text
mark {
padding: .125rem .25rem;
background: var(--mark);
color: var(--mark-text);
2019-11-27 15:31:49 +07:00
vertical-align: middle;
}
// Blockquote
blockquote {
display: block;
margin: ($spacing-typography*2) 0;
padding: $spacing-gutter;
border-left: .25rem solid var(--muted-border);
footer {
margin-top: $spacing-typography/2;
color: var(--muted-text);
}
}
// 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 {
color: var(--valid);
text-decoration: none;
}
2019-11-27 15:31:49 +07:00
// del
del {
color: var(--invalid);
}
// selection
::selection {
background-color: var(--primary-focus);
}