mirror of
https://github.com/Sped0n/bridget.git
synced 2026-04-21 13:39:30 -07:00
chore(base.scss): improve font rendering by adding font smoothing properties to all elements
feat(base.scss): add user-select: none to body to disable text selection feat(base.scss): add overscroll-behavior-y: none to html and body to disable vertical scrolling on overscroll feat(base.scss): add cursor: pointer to anchor tags and buttons for better user experience feat(font.scss): add font-face declaration for HelveticaNow font refactor(media.scss): remove unused file feat(mixins.scss): add min-width and max-width mixins for responsive design feat(reset.scss): add the new CSS reset version 1.8.4 feat(reset.scss): remove all styles from User-Agent-Stylesheet except for the display property feat(reset.scss): set box-sizing: border-box for all elements feat(reset.scss): revert cursor style for anchor tags and buttons feat(reset.scss): remove list styles (bullets/numbers) from ol, ul, and menu feat(reset.scss): set max-inline-size and max-block-size to 100% for images feat(reset.scss): set border-collapse: collapse for tables feat(reset.scss): set -webkit-user-select: auto for input and textarea to fix Safari issue feat(reset.scss): revert white-space property for textarea on Safari feat(reset.scss): set -webkit-appearance: revert for meter element feat(reset.scss): revert all styles for preformatted text feat(reset.scss): unset color for input placeholder feat(reset.scss): remove default dot sign for lists feat(reset.scss): set display: none for elements with hidden attribute feat(reset.scss): revert styles for contenteditable elements feat(reset.scss): set -webkit-user-drag: element for draggable elements feat(reset.scss): revert native behavior for modal dialogs feat(typography.scss): set line-height, font-size, and font-family for body feat(typography.scss): increase font-size for tablet and laptop breakpoints
This commit is contained in:
@@ -1,14 +1,20 @@
|
|||||||
html {
|
* {
|
||||||
font-family: $global-font-family;
|
-webkit-font-smoothing: antialiased;
|
||||||
overflow: hidden;
|
-moz-osx-font-smoothing: grayscale;
|
||||||
position: relative;
|
|
||||||
scroll-behavior: smooth;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background-color: white;
|
user-select: none;
|
||||||
height: 100vh;
|
background: white;
|
||||||
margin: 0;
|
}
|
||||||
overflow: hidden;
|
|
||||||
line-height: 1.5;
|
html,
|
||||||
}
|
body {
|
||||||
|
overscroll-behavior-y: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a,
|
||||||
|
button {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
6
assets/css/_core/_font.scss
Normal file
6
assets/css/_core/_font.scss
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: HelveticaNow;
|
||||||
|
src: url('/fonts/HelveticaNowText-Regular.woff') format('woff');
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
28
assets/css/_core/_mixins.scss
Normal file
28
assets/css/_core/_mixins.scss
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
$breakpoints: (
|
||||||
|
'mobile': 375px,
|
||||||
|
'tablet': 768px,
|
||||||
|
'laptop': 1024px,
|
||||||
|
'desktop': 1440px
|
||||||
|
) !default;
|
||||||
|
|
||||||
|
// Breakpoints
|
||||||
|
|
||||||
|
@mixin min-width($breakpoint) {
|
||||||
|
@if map-has-key($breakpoints, $breakpoint) {
|
||||||
|
@media (min-width: map-get($breakpoints, $breakpoint)) {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
} @else {
|
||||||
|
@error "Unfortunately, no value could be retrieved from `#{$breakpoint}`. " + "Available breakpoints are: #{map-keys($breakpoints)}.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin max-width($breakpoint) {
|
||||||
|
@if map-has-key($breakpoints, $breakpoint) {
|
||||||
|
@media (max-width: (map-get($breakpoints, $breakpoint) - 1px)) {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
} @else {
|
||||||
|
@error "Unfortunately, no value could be retrieved from `#{$breakpoint}`. " + "Available breakpoints are: #{map-keys($breakpoints)}.";
|
||||||
|
}
|
||||||
|
}
|
||||||
103
assets/css/_core/_reset.scss
Normal file
103
assets/css/_core/_reset.scss
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
/***
|
||||||
|
The new CSS reset - version 1.8.4 (last updated 14.2.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
|
||||||
|
*/
|
||||||
|
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
|
||||||
|
all: unset;
|
||||||
|
display: revert;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Preferred box-sizing value */
|
||||||
|
*,
|
||||||
|
*::before,
|
||||||
|
*::after {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Reapply the pointer cursor for anchor tags */
|
||||||
|
a,
|
||||||
|
button {
|
||||||
|
cursor: revert;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Remove list styles (bullets/numbers) */
|
||||||
|
ol,
|
||||||
|
ul,
|
||||||
|
menu {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* For images to not be able to exceed their container */
|
||||||
|
img {
|
||||||
|
max-inline-size: 100%;
|
||||||
|
max-block-size: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* removes spacing between cells in tables */
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
|
||||||
|
input,
|
||||||
|
textarea {
|
||||||
|
-webkit-user-select: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* revert the 'white-space' property for textarea elements on Safari */
|
||||||
|
textarea {
|
||||||
|
white-space: revert;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* minimum style to allow to style meter element */
|
||||||
|
meter {
|
||||||
|
-webkit-appearance: revert;
|
||||||
|
appearance: revert;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* preformatted text - use only for this feature */
|
||||||
|
:where(pre) {
|
||||||
|
all: revert;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* reset default text opacity of input placeholder */
|
||||||
|
::placeholder {
|
||||||
|
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]) {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* revert for bug in Chromium browsers
|
||||||
|
- fix for the content editable attribute will work properly.
|
||||||
|
- webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
|
||||||
|
:where([contenteditable]:not([contenteditable='false'])) {
|
||||||
|
-moz-user-modify: read-write;
|
||||||
|
-webkit-user-modify: read-write;
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
-webkit-line-break: after-white-space;
|
||||||
|
-webkit-user-select: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* apply back the draggable feature - exist only in Chromium and Safari */
|
||||||
|
:where([draggable='true']) {
|
||||||
|
-webkit-user-drag: element;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Revert Modal native behavior */
|
||||||
|
:where(dialog:modal) {
|
||||||
|
all: revert;
|
||||||
|
}
|
||||||
14
assets/css/_core/_typography.scss
Normal file
14
assets/css/_core/_typography.scss
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
@import 'mixins';
|
||||||
|
|
||||||
|
body {
|
||||||
|
line-height: 1.2;
|
||||||
|
font-size: 16px;
|
||||||
|
font-family: HelveticaNow, helvetica, arial, sans-serif;
|
||||||
|
|
||||||
|
@include min-width('tablet') {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
@include min-width('laptop') {
|
||||||
|
font-size: 19px;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user