Files
blog/sass/_normalize.scss
2024-10-26 18:13:34 +03:00

277 lines
4.8 KiB
SCSS

// Document
// ==========================================================================
//
// 1. Correct the line height in all browsers.
// 2. Prevent adjustments of font size after orientation changes in iOS.
//
:where(html) {
-webkit-text-size-adjust: 100%; // 2
text-size-adjust: 100%; // 2
line-height: 1.15; // 1
}
// Sections
// ==========================================================================
//
// Correct the font size and margin on `h1` elements within `section` and
// `article` contexts in Chrome, Edge, Firefox, and Safari.
//
:where(h1) {
margin-block-start: 0.67em;
margin-block-end: 0.67em;
font-size: 2em;
}
// Grouping content
// ==========================================================================
//
// Remove the margin on nested lists in Chrome, Edge, and Safari.
//
:where(dl, ol, ul) :where(dl, ol, ul) {
margin-block-start: 0;
margin-block-end: 0;
}
//
// 1. Add the correct box sizing in Firefox.
// 2. Correct the inheritance of border color in Firefox.
//
:where(hr) {
box-sizing: content-box; // 1
height: 0; // 1
color: inherit; // 2
}
// Text-level semantics
// ==========================================================================
//
// Add the correct text decoration in Safari.
//
:where(abbr[title]) {
text-decoration: underline;
text-decoration: underline dotted;
}
//
// Add the correct font weight in Chrome, Edge, and Safari.
//
:where(b, strong) {
font-weight: bolder;
}
//
// 1. Correct the inheritance and scaling of font size in all browsers.
// 2. Correct the odd `em` font sizing in all browsers.
//
:where(code, kbd, pre, samp) {
font-size: 1em; // 2
font-family: monospace, monospace; // 1
}
//
// Add the correct font size in all browsers.
//
:where(small) {
font-size: 80%;
}
// Tabular data
// ==========================================================================
//
// 1. Correct table border color in Chrome, Edge, and Safari.
// 2. Remove text indentation from table contents in Chrome, Edge, and Safari.
//
:where(table) {
border-color: currentColor; // 1
text-indent: 0; // 2
}
// Forms
// ==========================================================================
//
// Remove the margin on controls in Safari.
//
:where(button, input, select) {
margin: 0;
}
//
// Remove the inheritance of text transform in Firefox.
//
:where(button) {
text-transform: none;
}
//
// Correct the inability to style buttons in iOS and Safari.
//
:where(
button,
input:is([type="button" i], [type="reset" i], [type="submit" i])
) {
-webkit-appearance: button;
}
//
// Add the correct vertical alignment in Chrome, Edge, and Firefox.
//
:where(progress) {
vertical-align: baseline;
}
//
// Remove the inheritance of text transform in Firefox.
//
:where(select) {
text-transform: none;
}
//
// Remove the margin in Firefox and Safari.
//
:where(textarea) {
margin: 0;
}
//
// 1. Correct the odd appearance in Chrome, Edge, and Safari.
// 2. Correct the outline style in Safari.
//
:where(input[type="search" i]) {
-webkit-appearance: textfield; // 1
outline-offset: -2px; // 2
}
//
// Correct the cursor style of increment and decrement buttons in Safari.
//
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
height: auto;
}
//
// Correct the text style of placeholders in Chrome, Edge, and Safari.
//
::-webkit-input-placeholder {
opacity: 0.54;
color: inherit;
}
//
// Remove the inner padding in Chrome, Edge, and Safari on macOS.
//
::-webkit-search-decoration {
-webkit-appearance: none;
}
//
// 1. Correct the inability to style upload buttons in iOS and Safari.
// 2. Change font properties to `inherit` in Safari.
//
::-webkit-file-upload-button {
-webkit-appearance: button; // 1
font: inherit; // 2
}
//
// Remove the inner border and padding of focus outlines in Firefox.
//
:where(
button,
input:is(
[type="button" i],
[type="color" i],
[type="reset" i],
[type="submit" i]
)
)::-moz-focus-inner {
border-style: none;
padding: 0;
}
//
// Restore the focus outline styles unset by the previous rule in Firefox.
//
:where(
button,
input:is(
[type="button" i],
[type="color" i],
[type="reset" i],
[type="submit" i]
)
)::-moz-focusring {
outline: 1px dotted ButtonText;
}
//
// Remove the additional :invalid styles in Firefox.
//
:where(:-moz-ui-invalid) {
box-shadow: none;
}
// Interactive
// ==========================================================================
//
// Add the correct styles in Safari.
//
:where(dialog) {
position: absolute;
right: 0;
left: 0;
margin: auto;
border: solid;
background-color: white;
padding: 1em;
width: -moz-fit-content;
width: fit-content;
height: -moz-fit-content;
height: fit-content;
color: black;
}
:where(dialog:not([open])) {
display: none;
}
//
// Add the correct display in all browsers.
//
:where(summary) {
display: list-item;
}