@s.a.g.a/reset-css
Version:
A CSS reset library for building static websites without UI frameworks
100 lines (84 loc) • 1.68 kB
CSS
*,
::before,
::after {
box-sizing: border-box;
min-inline-size: 0;
padding: unset;
margin: unset;
}
:where(
:any-link,
button:not([disabled]),
[type="button"]:not([disabled]),
[type="reset"]:not([disabled]),
[type="submit"]:not([disabled]),
label[for],
select,
summary,
[role="tab"],
[role="button"]
) {
cursor: pointer;
}
:where(a, area, button, input, label, select, summary, textarea, [tabindex]) {
touch-action: manipulation;
}
:where(input, button, textarea, select, pre, address) {
font: inherit;
}
:where(img) {
max-inline-size: 100%;
block-size: auto;
vertical-align: middle;
}
:where(textarea) {
field-sizing: content;
resize: none;
}
:where(fieldset) {
min-inline-size: 0;
border: unset;
}
:where(h1, h2, h3, h4, h5, h6) {
font-weight: 400;
}
ul:where([class]),
ol:where([class]),
summary {
list-style-type: "";
}
:where(summary)::-webkit-details-marker {
display: none;
}
:where(button) {
appearance: none;
border: none;
}
:where(a:any-link) {
color: unset;
text-decoration-line: unset;
}
:where(:focus:not(:focus-visible)) {
outline: 0;
}
@media (prefers-reduced-motion: reduce) {
*,
::before,
::after {
background-attachment: initial ;
transition-delay: 0s ;
transition-duration: 1ms ;
animation-duration: 1ms ;
animation-delay: -1ms ;
animation-iteration-count: 1 ;
scroll-behavior: auto ;
}
}
@media (prefers-reduced-motion: no-preference) {
:focus {
transition: outline-offset 0.25s ease;
}
:focus:not(:active) {
outline-offset: 5px;
}
}