mirror of
https://github.com/locomotivemtl/locomotive-boilerplate.git
synced 2026-01-15 00:55:08 +08:00
101 lines
1.7 KiB
SCSS
101 lines
1.7 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
|
|
*,
|
|
*:before,
|
|
*:after {
|
|
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,
|
|
dl,
|
|
dd,
|
|
body,
|
|
figure,
|
|
blockquote {
|
|
margin-block-end: 0;
|
|
}
|
|
|
|
// Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed
|
|
ul[class],
|
|
ol[class] {
|
|
margin: 0;
|
|
padding: 0;
|
|
list-style: none;
|
|
}
|
|
|
|
// Set core html defaults
|
|
html {
|
|
line-height: 1.5;
|
|
}
|
|
|
|
// Set shorter line heights on headings and interactive elements
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4,
|
|
button,
|
|
input,
|
|
label {
|
|
line-height: 1.1;
|
|
}
|
|
|
|
// Balance text wrapping on headings
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4 {
|
|
text-wrap: balance;
|
|
}
|
|
|
|
// Remove a elements default styles if they have a class
|
|
a[class] {
|
|
color: inherit;
|
|
text-decoration: none;
|
|
}
|
|
|
|
// Make images easier to work with
|
|
img,
|
|
picture {
|
|
max-width: 100%;
|
|
display: block;
|
|
}
|
|
|
|
// 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;
|
|
}
|