mirror of
https://github.com/locomotivemtl/locomotive-boilerplate.git
synced 2026-01-15 00:55:08 +08:00
125 lines
2.1 KiB
SCSS
125 lines
2.1 KiB
SCSS
// ==========================================================================
|
|
// Elements / Normalize
|
|
// ==========================================================================
|
|
|
|
// Modern CSS Normalize
|
|
// Based on the reset by Andy.set with some tweaks.
|
|
// Original by Andy.set: https://piccalil.li/blog/a-more-modern-css-reset/
|
|
// Review by Chris collier: https://chriscoyier.net/2023/10/03/being-picky-about-a-css-reset-for-fun-pleasure/
|
|
|
|
|
|
// Box sizing rules
|
|
*,
|
|
*:after,
|
|
*:before {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
// Prevent font size inflation
|
|
html {
|
|
-moz-text-size-adjust: none;
|
|
-webkit-text-size-adjust: none;
|
|
text-size-adjust: none;
|
|
}
|
|
|
|
// Remove default margin in favour of better control in authored CSS
|
|
p,
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6,
|
|
dl,
|
|
dd,
|
|
figure,
|
|
blockquote {
|
|
margin-block: unset;
|
|
}
|
|
|
|
// Remove list styles on ul, ol elements with a class, which suggests default styling will be removed
|
|
ul[class],
|
|
ol[class] {
|
|
margin: 0;
|
|
padding: 0;
|
|
list-style: none;
|
|
}
|
|
|
|
// Set core defaults
|
|
html {
|
|
line-height: 1.5;
|
|
}
|
|
|
|
body {
|
|
margin: unset;
|
|
}
|
|
|
|
// Set shorter line heights on headings and interactive elements
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6,
|
|
input,
|
|
label,
|
|
button {
|
|
line-height: 1.1;
|
|
}
|
|
|
|
// Balance text wrapping on headings
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
h5,
|
|
h6 {
|
|
text-wrap: balance;
|
|
}
|
|
|
|
// Remove a elements default styles if they have a class
|
|
a[class] {
|
|
color: inherit;
|
|
text-decoration: none;
|
|
}
|
|
|
|
// Make assets easier to work with
|
|
img,
|
|
svg,
|
|
canvas,
|
|
picture {
|
|
display: block;
|
|
max-inline-size: 100%;
|
|
block-size: auto;
|
|
}
|
|
|
|
// Inherit fonts for inputs and buttons
|
|
input,
|
|
button,
|
|
select,
|
|
textarea {
|
|
font: inherit;
|
|
}
|
|
|
|
// Make sure textareas without a rows attribute are not tiny
|
|
textarea:not([rows]) {
|
|
min-height: 10em;
|
|
}
|
|
|
|
// Anything that has been anchored to should have extra scroll margin
|
|
:target {
|
|
scroll-margin-block: 1rlh;
|
|
}
|
|
|
|
// Reduced mootion preference
|
|
@media (prefers-reduced-motion: reduce) {
|
|
*,
|
|
*:after,
|
|
*:before {
|
|
animation-duration: 0.01ms !important;
|
|
animation-iteration-count: 1 !important;
|
|
transition-duration: 0.01ms !important;
|
|
scroll-behavior: auto !important;
|
|
}
|
|
}
|