Created
June 14, 2024 00:03
-
-
Save Kaleidosium/55c8530043563b30479e52cb3c78396e to your computer and use it in GitHub Desktop.
My Personal CSS Reset
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/*! kalreset.css v1.0.0 | MIT License | |
* Based on modern-normalize by sindresorhus, | |
* A (more) Modern CSS Reset by set.studio, | |
* and Adrian Roselli's Blog | |
*/ | |
/* | |
Document | |
======== | |
*/ | |
/** | |
Use a better box model (opinionated). | |
*/ | |
*, | |
*::before, | |
*::after { | |
box-sizing: border-box; | |
} | |
html { | |
/* Prevent font size inflation */ | |
-moz-text-size-adjust: none; | |
-webkit-text-size-adjust: none; | |
text-size-adjust: none; | |
/* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) */ | |
font-family: | |
system-ui, | |
'Segoe UI', | |
Roboto, | |
Helvetica, | |
Arial, | |
sans-serif, | |
'Apple Color Emoji', | |
'Segoe UI Emoji'; | |
line-height: 1.5; /* 1. Adjust the line height in all browsers. (opinionated) */ | |
-webkit-text-size-adjust: 100%; /* 2. Prevent adjustments of font size after orientation changes in iOS. */ | |
-moz-tab-size: 4; /* 3. Use a more readable tab size (opinionated). */ | |
tab-size: 4; /* 3 */ | |
font-size: 100%; /* 4. Unset a base font size */ | |
} | |
/* | |
Remove default margin in favour of better control in authored CSS | |
*/ | |
body, h1, h2, h3, h4, p, | |
figure, blockquote, dl, dd { | |
margin-block-end: 0; | |
} | |
/* | |
Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed | |
*/ | |
ul[role='list'], | |
ol[role='list'] { | |
list-style: none; | |
} | |
/* | |
Set core body defaults | |
*/ | |
body { | |
min-height: 100vh; | |
margin: 0; /* Remove the margin in all browsers. */ | |
} | |
/* | |
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; | |
} | |
/* | |
A elements that don't have a class get default styles | |
*/ | |
a:not([class]) { | |
text-decoration-skip-ink: auto; | |
color: currentColor; | |
} | |
/* | |
Make images easier to work with | |
*/ | |
img, | |
picture { | |
max-width: 100%; | |
display: block; | |
} | |
/* | |
Grouping content | |
================ | |
*/ | |
/** | |
1. Add the correct height in Firefox. | |
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) | |
*/ | |
hr { | |
height: 0; /* 1 */ | |
color: inherit; /* 2 */ | |
} | |
/* | |
Text-level semantics | |
==================== | |
*/ | |
/** | |
Add the correct text decoration in Chrome, Edge, and Safari. | |
*/ | |
abbr[title] { | |
text-decoration: underline dotted; | |
} | |
/** | |
Add the correct font weight in Edge and Safari. | |
*/ | |
b, | |
strong { | |
font-weight: bolder; | |
} | |
/** | |
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) | |
2. Correct the odd 'em' font sizing in all browsers. | |
*/ | |
code, | |
kbd, | |
samp, | |
pre { | |
font-family: | |
ui-monospace, | |
SFMono-Regular, | |
Consolas, | |
'Liberation Mono', | |
Menlo, | |
monospace; /* 1 */ | |
font-size: 1em; /* 2 */ | |
} | |
/** | |
Add the correct font size in all browsers. | |
*/ | |
small { | |
font-size: 80%; | |
} | |
/** | |
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. | |
*/ | |
sub, | |
sup { | |
font-size: 75%; | |
line-height: 0; | |
position: relative; | |
vertical-align: baseline; | |
} | |
sub { | |
bottom: -0.25em; | |
} | |
sup { | |
top: -0.5em; | |
} | |
/* | |
Tabular data | |
============ | |
*/ | |
/** | |
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) | |
2. Correct table border color inheritance in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) | |
*/ | |
table { | |
text-indent: 0; /* 1 */ | |
border-color: inherit; /* 2 */ | |
} | |
/* | |
Forms | |
===== | |
*/ | |
/** | |
1. Change the font styles in all browsers. | |
2. Remove the margin in Firefox and Safari. | |
*/ | |
button, | |
input, | |
optgroup, | |
select, | |
textarea { | |
font: inherit; /* 1 */ | |
font-size: 100%; /* 1 */ | |
line-height: 1.15; /* 1 */ | |
margin: 0; /* 2 */ | |
} | |
/** | |
Remove the inheritance of text transform in Edge and Firefox. | |
*/ | |
button, | |
select { | |
text-transform: none; | |
} | |
/** | |
Correct the inability to style clickable types in iOS and Safari. | |
*/ | |
button, | |
[type='button'], | |
[type='reset'], | |
[type='submit'] { | |
-webkit-appearance: button; | |
} | |
/** | |
Remove the inner border and padding in Firefox. | |
*/ | |
::-moz-focus-inner { | |
border-style: none; | |
padding: 0; | |
} | |
/** | |
Restore the focus styles unset by the previous rule. | |
*/ | |
:-moz-focusring { | |
outline: 1px dotted ButtonText; | |
} | |
/** | |
Remove the additional ':invalid' styles in Firefox. | |
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737 | |
*/ | |
:-moz-ui-invalid { | |
box-shadow: none; | |
} | |
/** | |
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers. | |
*/ | |
legend { | |
padding: 0; | |
} | |
/** | |
Add the correct vertical alignment in Chrome and Firefox. | |
*/ | |
progress { | |
vertical-align: baseline; | |
} | |
/** | |
Correct the cursor style of increment and decrement buttons in Safari. | |
*/ | |
::-webkit-inner-spin-button, | |
::-webkit-outer-spin-button { | |
height: auto; | |
} | |
/** | |
1. Correct the odd appearance in Chrome and Safari. | |
2. Correct the outline style in Safari. | |
*/ | |
[type='search'] { | |
-webkit-appearance: textfield; /* 1 */ | |
outline-offset: -2px; /* 2 */ | |
} | |
/** | |
Remove the inner padding in Chrome and Safari on macOS. | |
*/ | |
::-webkit-search-decoration { | |
-webkit-appearance: none; | |
} | |
/** | |
1. Correct the inability to style clickable types in iOS and Safari. | |
2. Change font properties to 'inherit' in Safari. | |
*/ | |
::-webkit-file-upload-button { | |
-webkit-appearance: button; /* 1 */ | |
font: inherit; /* 2 */ | |
} | |
/* 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: 5ex; | |
} | |
/* | |
Interactive | |
=========== | |
*/ | |
/* | |
Add the correct display in Chrome and Safari. | |
*/ | |
summary { | |
display: list-item; | |
} | |
/* Inherit fonts for inputs and buttons */ | |
input, button, | |
textarea, select { | |
font: inherit; | |
letter-spacing: inherit; | |
word-spacing: inherit; | |
} | |
/* | |
===== | |
*/ | |
@media print { | |
body { | |
font-size: 8pt; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment