Split sass reset dir in to reset file and base dir.
This commit is contained in:
parent
c81317e0ca
commit
ef541b998e
13 changed files with 204 additions and 148 deletions
|
|
@ -13,6 +13,7 @@
|
|||
// Mixins and functions.
|
||||
@import 'mixins/breakpoint/respond-to';
|
||||
@import 'mixins/clearfix/clearfix';
|
||||
@import 'mixins/debug/debug';
|
||||
@import 'mixins/flex-calc/flex-calc';
|
||||
@import 'mixins/image-url/image-url';
|
||||
@import 'mixins/rtl/rtl';
|
||||
|
|
|
|||
111
assets/sass/_reset.scss
Normal file
111
assets/sass/_reset.scss
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
// stylelint-disable property-no-vendor-prefix
|
||||
// Reset browsers to some sane defaults.
|
||||
|
||||
// Document
|
||||
|
||||
html {
|
||||
// Prevent adjustments of font size.
|
||||
-webkit-text-size-adjust: none;
|
||||
text-size-adjust: none;
|
||||
// On short pages, we want any background gradients to fill the entire height
|
||||
// of the browser.
|
||||
min-height: 100%;
|
||||
// Use the saner border-box model.
|
||||
box-sizing: border-box;
|
||||
// Use smooth scrolling.
|
||||
scroll-behavior: smooth;
|
||||
// Improve text rendering.
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
// Use the saner border-box model for all elements.
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
// Sections
|
||||
|
||||
body {
|
||||
// Remove the margin in all browsers.
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
// Embedded content
|
||||
|
||||
img,
|
||||
picture,
|
||||
video,
|
||||
canvas,
|
||||
svg {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
img,
|
||||
svg {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
// Form defaults.
|
||||
|
||||
input,
|
||||
button,
|
||||
textarea,
|
||||
select {
|
||||
font: inherit;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
label {
|
||||
display: block;
|
||||
font-weight: var(--fw-bold);
|
||||
}
|
||||
|
||||
[type='search'] {
|
||||
// Correct the odd appearance in Chrome and Safari.
|
||||
-webkit-appearance: textfield;
|
||||
// Correct the outline style in Safari.
|
||||
outline-offset: -2px;
|
||||
}
|
||||
|
||||
// Text-level semantics
|
||||
//
|
||||
// The elements in this section give semantics to inline text.
|
||||
|
||||
// Code
|
||||
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
color: var(--color-code);
|
||||
font-family: var(--ff-monospace);
|
||||
}
|
||||
|
||||
// Mark text
|
||||
|
||||
mark {
|
||||
@extend %highlight-mark;
|
||||
}
|
||||
|
||||
// Superscript / Subscript
|
||||
|
||||
sub,
|
||||
sup {
|
||||
// Prevent `sub` and `sup` elements from affecting the line height in
|
||||
// all browsers.
|
||||
font-size: var(--fs-xs);
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -.5em;
|
||||
}
|
||||
9
assets/sass/base/_base.scss
Normal file
9
assets/sass/base/_base.scss
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
// Base styles.
|
||||
|
||||
// Broken into modular pieces to make it easier to edit.
|
||||
@import 'document/document';
|
||||
@import 'forms/forms';
|
||||
@import 'grouping/grouping';
|
||||
@import 'headings/headings';
|
||||
@import 'links/links';
|
||||
@import 'tables/tables';
|
||||
18
assets/sass/base/document/_document.scss
Normal file
18
assets/sass/base/document/_document.scss
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
// Document
|
||||
|
||||
html {
|
||||
// Change the default font family in all browsers.
|
||||
font-family: var(--ff-body);
|
||||
// Set base font size in percent.
|
||||
font-size: calc(#{$base-font-size} / 16 * 100%);
|
||||
// Correct the line height in all browsers.
|
||||
line-height: $base-line-height;
|
||||
// Set text colour.
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
body {
|
||||
// Output a horizontal grid to help with debugging typography. The
|
||||
// $debug variable will toggle its output.
|
||||
@include debug-grid();
|
||||
}
|
||||
53
assets/sass/base/forms/_forms.scss
Normal file
53
assets/sass/base/forms/_forms.scss
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
// stylelint-disable property-no-vendor-prefix
|
||||
|
||||
// Form defaults.
|
||||
|
||||
form {
|
||||
// Add vertical rhythm margins.
|
||||
@include margin-block(1);
|
||||
|
||||
// Set max text line width in main for readability.
|
||||
.main & {
|
||||
max-width: var(--max-line-width);
|
||||
}
|
||||
}
|
||||
|
||||
input,
|
||||
button,
|
||||
textarea,
|
||||
select {
|
||||
@include margin-bottom(.75);
|
||||
}
|
||||
|
||||
label {
|
||||
&:has(+ :required) {
|
||||
&::after {
|
||||
content: '*';
|
||||
color: var(--color-mark-highlight);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fieldset {
|
||||
border: 1px solid var(--color-border);
|
||||
}
|
||||
|
||||
input {
|
||||
// Writing "Min" instead of "min" to force use of css "min()" instead of sass "min()".
|
||||
// stylelint-disable-next-line function-name-case
|
||||
width: Min(20em, 100%);
|
||||
}
|
||||
|
||||
[type='text'],
|
||||
textarea {
|
||||
// Writing "Min" instead of "min" to force use of css "min()" instead of sass "min()".
|
||||
// stylelint-disable-next-line function-name-case
|
||||
width: Min(30em, 100%);
|
||||
}
|
||||
|
||||
input:not(:only-of-type),
|
||||
textarea {
|
||||
& + [type='submit'] {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
95
assets/sass/base/grouping/_grouping.scss
Normal file
95
assets/sass/base/grouping/_grouping.scss
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
// Grouping content
|
||||
|
||||
// Block quotes
|
||||
//
|
||||
// The `<blockquote>` element is for quoting blocks of content from another
|
||||
// source within your document. Wrap the `<blockquote>` around any <abbr
|
||||
// title="HyperText Markup Language">HTML</abbr> as the quote. For straight
|
||||
// quotes, we recommend a `<p>`.
|
||||
//
|
||||
// Optionally, add a `<footer>` to identify the source of the quote, wrapping
|
||||
// the name of the source work in `<cite>`.
|
||||
|
||||
blockquote {
|
||||
// Add vertical rhythm margins.
|
||||
@include margin-block(1);
|
||||
// Also indent the quote on both sides.
|
||||
margin-inline: var(--indent-amount);
|
||||
}
|
||||
|
||||
// Lists
|
||||
|
||||
dl,
|
||||
ol,
|
||||
ul,
|
||||
menu {
|
||||
// Add vertical rhythm margins.
|
||||
@include margin-block(1);
|
||||
|
||||
// Set max text line width in main for readability.
|
||||
.main & {
|
||||
max-width: var(--max-line-width);
|
||||
}
|
||||
}
|
||||
|
||||
dd {
|
||||
margin: 0 0 0 var(--indent-amount);
|
||||
|
||||
@include rtl {
|
||||
margin: 0 var(--indent-amount) 0 0;
|
||||
}
|
||||
}
|
||||
|
||||
ol,
|
||||
ul,
|
||||
menu {
|
||||
padding: 0 0 0 var(--indent-amount);
|
||||
|
||||
@include rtl {
|
||||
padding: 0 var(--indent-amount) 0 0;
|
||||
}
|
||||
|
||||
// Turn off margins on nested lists.
|
||||
ol,
|
||||
ul,
|
||||
menu {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Figures
|
||||
|
||||
figure {
|
||||
// Add vertical rhythm margins.
|
||||
@include margin-block(1);
|
||||
|
||||
// Remove defult inline margins.
|
||||
@include margin-inline(0);
|
||||
}
|
||||
|
||||
// Horizontal rule
|
||||
|
||||
hr {
|
||||
@extend %divider;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
// Paragraphs
|
||||
|
||||
p {
|
||||
// Add vertical rhythm margins.
|
||||
@include margin-block(.75);
|
||||
|
||||
// Set max text line width in main for readability.
|
||||
.main & {
|
||||
max-width: var(--max-line-width);
|
||||
}
|
||||
}
|
||||
|
||||
// Preformatted text
|
||||
|
||||
pre {
|
||||
// Add vertical rhythm margins.
|
||||
@include margin-block(.75);
|
||||
font-family: var(--ff-monospace);
|
||||
}
|
||||
58
assets/sass/base/headings/_headings.scss
Normal file
58
assets/sass/base/headings/_headings.scss
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
// Headings
|
||||
//
|
||||
// All HTML headings, `<h1>` through `<h6>`, are available. `%h1` through `%h6`
|
||||
// classes are also available, for when you want to match the font styling of a
|
||||
// heading but not be a heading.
|
||||
h1,
|
||||
%h1,
|
||||
h2,
|
||||
%h2,
|
||||
h3,
|
||||
%h3,
|
||||
h4,
|
||||
%h4,
|
||||
h5,
|
||||
%h5,
|
||||
h6,
|
||||
%h6 {
|
||||
@include margin-block(1 .5);
|
||||
color: var(--color-headings);
|
||||
font-family: var(--ff-headings);
|
||||
font-weight: var(--fw-headings);
|
||||
line-height: var(--heading-line-height);
|
||||
|
||||
// Set max text line width in main for readability.
|
||||
.main & {
|
||||
max-width: var(--max-line-width);
|
||||
}
|
||||
}
|
||||
|
||||
h1,
|
||||
%h1 {
|
||||
font-size: var(--fs-xxl);
|
||||
}
|
||||
|
||||
h2,
|
||||
%h2 {
|
||||
font-size: var(--fs-xl);
|
||||
}
|
||||
|
||||
h3,
|
||||
%h3 {
|
||||
font-size: var(--fs-l);
|
||||
}
|
||||
|
||||
h4,
|
||||
%h4 {
|
||||
font-size: var(--fs-m);
|
||||
}
|
||||
|
||||
h5,
|
||||
%h5 {
|
||||
font-size: var(--fs-s);
|
||||
}
|
||||
|
||||
h6,
|
||||
%h6 {
|
||||
font-size: var(--fs-xs);
|
||||
}
|
||||
66
assets/sass/base/links/_links.scss
Normal file
66
assets/sass/base/links/_links.scss
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
// Links
|
||||
//
|
||||
// Hyperlinks are used to allow the user to navigate to other resources or to
|
||||
// download a resource.
|
||||
//
|
||||
// The order of link states are based on Eric Meyer's article:
|
||||
// http://meyerweb.com/eric/thoughts/2007/06/11/who-ordered-the-link-states
|
||||
//
|
||||
// :visited - A link that has already been visited.
|
||||
// :hover - A link that is being hovered over.
|
||||
// :focus - A link that has been given keyboard focus.
|
||||
// :active - A link that is being actively clicked.
|
||||
|
||||
a,
|
||||
%link {
|
||||
color: var(--color-link);
|
||||
}
|
||||
|
||||
// Any element can receive focus, but only links can be visited, so we can
|
||||
// safely lower this selector's specificity. This also ensures visited links
|
||||
// with additional styles won't have their styles overridden.
|
||||
:visited {
|
||||
color: var(--color-link-visited);
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: var(--color-link-hover);
|
||||
}
|
||||
|
||||
a:active {
|
||||
color: var(--color-link-active);
|
||||
}
|
||||
|
||||
.link-nav,
|
||||
%link-nav {
|
||||
a {
|
||||
text-decoration: none;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Inverted links, for dark backgrounds.
|
||||
.link-inverted,
|
||||
%link-inverted {
|
||||
a {
|
||||
color: var(--color-link-inverted);
|
||||
|
||||
&:visited {
|
||||
color: var(--color-link-visited-inverted);
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: var(--color-link-hover-inverted);
|
||||
}
|
||||
|
||||
&:active {
|
||||
color: var(--color-link-active-inverted);
|
||||
}
|
||||
}
|
||||
}
|
||||
19
assets/sass/base/tables/_tables.scss
Normal file
19
assets/sass/base/tables/_tables.scss
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
// Tables
|
||||
//
|
||||
// The `<table>` element displays tabular data in rows, columns, and cells.
|
||||
|
||||
table {
|
||||
// Add vertical rhythm margins.
|
||||
@include margin-block(1);
|
||||
// Remove most spacing between table cells.
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
// Prevent cramped-looking tables
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
td,
|
||||
th {
|
||||
// Remove most spacing between table cells.
|
||||
padding: 0;
|
||||
}
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
// stylelint-disable property-no-vendor-prefix
|
||||
|
||||
// Document
|
||||
|
||||
html {
|
||||
// Change the default font family in all browsers.
|
||||
font-family: var(--ff-body);
|
||||
// Set base font size in percent.
|
||||
font-size: calc(#{$base-font-size} / 16 * 100%);
|
||||
// Correct the line height in all browsers.
|
||||
line-height: $base-line-height;
|
||||
// Set text colour.
|
||||
color: var(--color-text);
|
||||
// Prevent adjustments of font size.
|
||||
-webkit-text-size-adjust: none;
|
||||
text-size-adjust: none;
|
||||
// On short pages, we want any background gradients to fill the entire height
|
||||
// of the browser.
|
||||
min-height: 100%;
|
||||
// Use the saner border-box model.
|
||||
box-sizing: border-box;
|
||||
// Use smooth scrolling.
|
||||
scroll-behavior: smooth;
|
||||
// Improve text rendering.
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
// Use the saner border-box model for all elements.
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
// Embedded content
|
||||
|
||||
img,
|
||||
picture,
|
||||
video,
|
||||
canvas,
|
||||
svg {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
img,
|
||||
svg {
|
||||
height: auto;
|
||||
}
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
// stylelint-disable property-no-vendor-prefix
|
||||
|
||||
// Form defaults.
|
||||
|
||||
form {
|
||||
// Add vertical rhythm margins.
|
||||
@include margin-block(1);
|
||||
}
|
||||
|
||||
input,
|
||||
button,
|
||||
textarea,
|
||||
select {
|
||||
font: inherit;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
label {
|
||||
display: block;
|
||||
font-weight: var(--fw-bold);
|
||||
}
|
||||
|
||||
fieldset {
|
||||
border: 1px solid var(--color-border);
|
||||
}
|
||||
|
||||
[type='search'] {
|
||||
// Correct the odd appearance in Chrome and Safari.
|
||||
-webkit-appearance: textfield;
|
||||
// Correct the outline style in Safari.
|
||||
outline-offset: -2px;
|
||||
}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
// Text-level semantics
|
||||
//
|
||||
// The elements in this section give semantics to inline text.
|
||||
|
||||
// Code
|
||||
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
color: var(--color-code);
|
||||
font-family: var(--ff-monospace);
|
||||
}
|
||||
|
||||
// Mark text
|
||||
|
||||
mark {
|
||||
@extend %highlight-mark;
|
||||
}
|
||||
|
||||
// Superscript / Subscript
|
||||
|
||||
sub,
|
||||
sup {
|
||||
// Prevent `sub` and `sup` elements from affecting the line height in
|
||||
// all browsers.
|
||||
font-size: var(--fs-xs);
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -.5em;
|
||||
}
|
||||
Loading…
Reference in a new issue