From 2e3fc3d7b63555d865c8351e0ab7656d7af92bc1 Mon Sep 17 00:00:00 2001 From: Sped0n Date: Sun, 29 Oct 2023 22:10:02 +0800 Subject: [PATCH] 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 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. --- assets/{css => scss}/_core/_reset.scss | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) rename assets/{css => scss}/_core/_reset.scss (82%) diff --git a/assets/css/_core/_reset.scss b/assets/scss/_core/_reset.scss similarity index 82% rename from assets/css/_core/_reset.scss rename to assets/scss/_core/_reset.scss index 0de3854..4070fab 100644 --- a/assets/css/_core/_reset.scss +++ b/assets/scss/_core/_reset.scss @@ -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; }