feat(reset.scss): add new CSS reset file to reset default styles and improve cross-browser consistency

The new CSS reset file is added to the project. This file is used to reset default styles applied by the user agent stylesheet and provide a clean starting point for styling. The reset file includes various CSS rules to remove default styles and improve cross-browser consistency.

Some of the changes made in the reset.scss file include:
- Removing all styles of the "User-Agent-Stylesheet" except for the 'display' property to solve Firefox SVG sprite bug and prevent a bug in Chrome that breaks the CSS hyphens property.
- Setting the box-sizing property to border-box for all elements and pseudo-elements to ensure consistent box sizing.
- Fixing the increase in font-size on mobile Safari in landscape mode.
- Reapplying the pointer cursor for anchor tags and buttons.
- Removing list styles (bullets/numbers) from ordered lists, unordered lists, menus, and summary elements.
- Setting max-inline-size and max-block-size properties to 100% for images to prevent them from exceeding their container.
- Removing spacing between cells in tables.
- Fixing an issue in Safari where the user-select:none property doesn't work on the <body> text input.
- Reverting the 'white-space' property for textarea elements on Safari.
- Applying minimum styles to allow styling of the meter element.
- Reverting all styles for preformatted text.
- Resetting the default text opacity of input placeholders.
- Fixing the 'hidden' attribute to use display: none instead of the attribute itself.
- Fixing a bug in Chromium browsers where the content editable attribute doesn't work properly.
- Applying the draggable feature for elements with the draggable attribute set to 'true'.
- Reverting the native behavior of modal dialogs.

These changes are made to ensure a consistent and predictable starting point for styling in the project and improve cross-browser compatibility.
This commit is contained in:
Sped0n
2023-10-29 22:10:02 +08:00
parent ca4f2d2902
commit 2e3fc3d7b6

View File

@@ -1,11 +1,12 @@
/***
The new CSS reset - version 1.8.4 (last updated 14.2.2023)
The new CSS reset - version 1.11.1 (last updated 24.10.2023)
GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
- The "symbol *" part is to solve Firefox SVG sprite bug
- The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
*/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
all: unset;
@@ -19,6 +20,13 @@
box-sizing: border-box;
}
/* Fix mobile Safari increase font-size on landscape mode */
html {
-moz-text-size-adjust: none;
-webkit-text-size-adjust: none;
text-size-adjust: none;
}
/* Reapply the pointer cursor for anchor tags */
a,
button {
@@ -28,7 +36,8 @@ button {
/* Remove list styles (bullets/numbers) */
ol,
ul,
menu {
menu,
summary {
list-style: none;
}
@@ -63,6 +72,7 @@ meter {
/* preformatted text - use only for this feature */
:where(pre) {
all: revert;
box-sizing: border-box;
}
/* reset default text opacity of input placeholder */
@@ -70,11 +80,6 @@ meter {
color: unset;
}
/* remove default dot (•) sign */
::marker {
content: initial;
}
/* fix the feature of 'hidden' attribute.
display:revert; revert to element instead of attribute */
:where([hidden]) {
@@ -100,4 +105,5 @@ meter {
/* Revert Modal native behavior */
:where(dialog:modal) {
all: revert;
box-sizing: border-box;
}