From 282e2086b0702c8aac9cc542d7a7b99161485623 Mon Sep 17 00:00:00 2001 From: webfussel Date: Thu, 30 May 2024 08:52:28 +0200 Subject: [PATCH] fix: optimize CSS --- app.vue | 219 ------------------ assets/css/button.css | 20 ++ .../Customers.css => assets/css/customers.css | 0 .../Footer.css => assets/css/footer.css | 0 assets/css/global.css | 186 +++++++++++++++ .../Header.css => assets/css/header.css | 0 .../Intro/Intro.css => assets/css/intro.css | 0 .../Person.css => assets/css/person.css | 0 .../Services.css => assets/css/services.css | 0 .../Skills.css => assets/css/skills.css | 0 .../css/technology.css | 0 components/Button.vue | 23 -- components/{Customers => }/Customers.vue | 2 - components/{Footer => }/Footer.vue | 2 - components/{Header => }/Header.vue | 1 - components/{Intro => }/Intro.vue | 2 - components/{Person => }/Person.vue | 2 - components/{Services => }/Services.vue | 2 - components/{Skills => }/Skills.vue | 2 - components/{Technology => }/Technology.vue | 2 - nuxt.config.ts | 12 +- 21 files changed, 217 insertions(+), 258 deletions(-) create mode 100644 assets/css/button.css rename components/Customers/Customers.css => assets/css/customers.css (100%) rename components/Footer/Footer.css => assets/css/footer.css (100%) create mode 100644 assets/css/global.css rename components/Header/Header.css => assets/css/header.css (100%) rename components/Intro/Intro.css => assets/css/intro.css (100%) rename components/Person/Person.css => assets/css/person.css (100%) rename components/Services/Services.css => assets/css/services.css (100%) rename components/Skills/Skills.css => assets/css/skills.css (100%) rename components/Technology/Technology.css => assets/css/technology.css (100%) rename components/{Customers => }/Customers.vue (99%) rename components/{Footer => }/Footer.vue (96%) rename components/{Header => }/Header.vue (99%) rename components/{Intro => }/Intro.vue (97%) rename components/{Person => }/Person.vue (94%) rename components/{Services => }/Services.vue (99%) rename components/{Skills => }/Skills.vue (98%) rename components/{Technology => }/Technology.vue (94%) diff --git a/app.vue b/app.vue index 77bf3ef..742c9a1 100644 --- a/app.vue +++ b/app.vue @@ -25,222 +25,3 @@ useSeoMeta({ twitterUrl: 'https://webfussel.de', }) - - diff --git a/assets/css/button.css b/assets/css/button.css new file mode 100644 index 0000000..11d433d --- /dev/null +++ b/assets/css/button.css @@ -0,0 +1,20 @@ +.Button { + all: unset; + transition: 250ms; + background: var(--color-orange); + color: var(--color-black); + cursor: pointer; + padding: 1rem 1.5rem; + outline: 3px solid var(--color-black); + box-shadow: 0 0 0 0 var(--color-orange); + border-radius: 99999px; + text-align: center; + + &:hover { + box-shadow: 0 0 0 6px var(--color-orange); + } + + &.cta { + font-size: clamp(1rem, 2vw, 1.5rem); + } +} diff --git a/components/Customers/Customers.css b/assets/css/customers.css similarity index 100% rename from components/Customers/Customers.css rename to assets/css/customers.css diff --git a/components/Footer/Footer.css b/assets/css/footer.css similarity index 100% rename from components/Footer/Footer.css rename to assets/css/footer.css diff --git a/assets/css/global.css b/assets/css/global.css new file mode 100644 index 0000000..a44cc6e --- /dev/null +++ b/assets/css/global.css @@ -0,0 +1,186 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +::selection { + background: var(--color-orange); + color: var(--color-black); +} + +::-webkit-scrollbar { + width: 10px; + height: 10px; +} + +::-webkit-scrollbar-button { + display: none; +} + +::-webkit-scrollbar-thumb { + border-radius: 20px; + background: #b2bec3; + transition: var(--transition-time); +} + +::-webkit-scrollbar-track { + border-radius: 20px; + background: rgba(0, 0, 0, 0.3); +} + +::-webkit-scrollbar-corner { + border-radius: 100%; + background: #b2bec3; +} + +:root { + --spacing-standard: 3rem; + --transition-time: 250ms; + --radius-standard: 4px; + + --color-white: #ecf0f1; + --color-white-transparent: rgba(236, 240, 241, 0.7); + + --color-black: #2a2723; + --color-black-transparent: #2a2723aa; + + --color-orange: #ff9100; + --color-orange-black: #332b22; +} + +html, +body { + min-height: 100vh; + width: 100vw; +} + +html { + scroll-behavior: smooth; + scrollbar-gutter: auto; + overflow-y: auto; + overflow-x: hidden; + + &.layer { + overflow: hidden; + } +} + +body { + font-family: 'Open Sans', sans-serif; + color: var(--color-white); + background: var(--color-black); +} + +h1, h2, h3, h4, h5, h6 { + text-align: left; + font-family: 'Roboto Condensed', sans-serif; +} + +h2 { + font-size: 4rem; +} + +h3 { + font-size: 1.5rem; +} + +a { + text-decoration: none; + color: var(--color-white); + transition: var(--transition-time); +} + +ul { + list-style: none; + display: flex; +} + +span.highlight { + color: var(--color-orange); +} + +span.chip { + background: var(--color-orange); + border-radius: 999px; + font-size: 1rem; + color: var(--color-black); + height: max-content; + padding: .5em 1em; + user-select: none; +} + +.card { + padding: 2rem; + background: var(--color-black); + border-radius: 20px; + min-width: 300px; + flex: 1; +} + +.color-icon { + filter: invert(50%) sepia(84%) saturate(868%) hue-rotate(1deg) brightness(103%) contrast(100%); +} + +.content { + position: relative; + z-index: 100; + padding: 150px 15vw; +} + +.full { + min-height: 100vh; +} + +.margin-top { + margin-top: 3rem; +} + +.margin-top-big { + margin-top: 6rem; +} + +.flex-col { + display: flex; + flex-direction: column; +} + +.default-gap { + gap: 3rem; +} + +.z-0 { + box-shadow: 0 0 0 rgba(0, 0, 0, 0), 0 0 0 rgba(0, 0, 0, 0); +} + +.z-1 { + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); +} + +.z-2 { + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23); +} + +.z-3 { + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} + +.z-4 { + box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); +} + +.z-5 { + box-shadow: 0 19px 38px rgba(0, 0, 0, 0.30), 0 15px 12px rgba(0, 0, 0, 0.22); +} + +@media (width <= 780px) { + h1, h2, h3, h4, h5, h6, p { + text-align: center; + } +} + +@media (width <= 450px) { + .content { + padding: 150px 10vw; + } +} diff --git a/components/Header/Header.css b/assets/css/header.css similarity index 100% rename from components/Header/Header.css rename to assets/css/header.css diff --git a/components/Intro/Intro.css b/assets/css/intro.css similarity index 100% rename from components/Intro/Intro.css rename to assets/css/intro.css diff --git a/components/Person/Person.css b/assets/css/person.css similarity index 100% rename from components/Person/Person.css rename to assets/css/person.css diff --git a/components/Services/Services.css b/assets/css/services.css similarity index 100% rename from components/Services/Services.css rename to assets/css/services.css diff --git a/components/Skills/Skills.css b/assets/css/skills.css similarity index 100% rename from components/Skills/Skills.css rename to assets/css/skills.css diff --git a/components/Technology/Technology.css b/assets/css/technology.css similarity index 100% rename from components/Technology/Technology.css rename to assets/css/technology.css diff --git a/components/Button.vue b/components/Button.vue index e2b0633..3ed7132 100644 --- a/components/Button.vue +++ b/components/Button.vue @@ -25,26 +25,3 @@ const actualProps = () => { } } - - diff --git a/components/Customers/Customers.vue b/components/Customers.vue similarity index 99% rename from components/Customers/Customers.vue rename to components/Customers.vue index a3d502b..288fb3b 100644 --- a/components/Customers/Customers.vue +++ b/components/Customers.vue @@ -1,5 +1,3 @@ -