fix: optimize CSS
This commit is contained in:
parent
b9e9e2d691
commit
282e2086b0
21 changed files with 217 additions and 258 deletions
219
app.vue
219
app.vue
|
@ -25,222 +25,3 @@ useSeoMeta({
|
||||||
twitterUrl: 'https://webfussel.de',
|
twitterUrl: 'https://webfussel.de',
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
|
||||||
* {
|
|
||||||
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;
|
|
||||||
|
|
||||||
--color-red: #822419;
|
|
||||||
--color-green: #236b40;
|
|
||||||
--color-yellow: #f1c40f;
|
|
||||||
}
|
|
||||||
|
|
||||||
.label {
|
|
||||||
font-size: 0.75rem;
|
|
||||||
font-weight: 600;
|
|
||||||
text-transform: uppercase;
|
|
||||||
letter-spacing: 1px;
|
|
||||||
border-radius: 999px;
|
|
||||||
padding: 0.25rem 0.5rem;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.label.available {
|
|
||||||
background: var(--color-green);
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.label.busy {
|
|
||||||
background: var(--color-yellow);
|
|
||||||
color: #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.label.booked {
|
|
||||||
background: var(--color-red);
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
20
assets/css/button.css
Normal file
20
assets/css/button.css
Normal file
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
186
assets/css/global.css
Normal file
186
assets/css/global.css
Normal file
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -25,26 +25,3 @@ const actualProps = () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
|
||||||
.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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
<style scoped src="./Customers.css"/>
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<section id="customers" class="Customers content">
|
<section id="customers" class="Customers content">
|
||||||
<h2>Kunden <span class="highlight">&</span> Projekte.</h2>
|
<h2>Kunden <span class="highlight">&</span> Projekte.</h2>
|
|
@ -1,5 +1,3 @@
|
||||||
<style scoped src="./Footer.css"/>
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<footer class="Footer flex-col default-gap">
|
<footer class="Footer flex-col default-gap">
|
||||||
<ul class="sitemap default-gap">
|
<ul class="sitemap default-gap">
|
|
@ -1,4 +1,3 @@
|
||||||
<style scoped src="./Header.css"/>
|
|
||||||
<template>
|
<template>
|
||||||
<div ref="stickyWatch" />
|
<div ref="stickyWatch" />
|
||||||
<header ref="header" class="Header">
|
<header ref="header" class="Header">
|
|
@ -1,5 +1,3 @@
|
||||||
<style scoped src="./Intro.css"/>
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<section id="intro" class="Intro content full default-gap">
|
<section id="intro" class="Intro content full default-gap">
|
||||||
<div class="intro-text flex-col default-gap">
|
<div class="intro-text flex-col default-gap">
|
|
@ -1,5 +1,3 @@
|
||||||
<style scoped src="./Person.css"/>
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<article class="Person flex-col">
|
<article class="Person flex-col">
|
||||||
<img loading="lazy" width="150" height="150" :src="img" :alt="`Bild von ${name}`" />
|
<img loading="lazy" width="150" height="150" :src="img" :alt="`Bild von ${name}`" />
|
|
@ -1,5 +1,3 @@
|
||||||
<style scoped src="./Services.css"/>
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<section id="services" class="Services content">
|
<section id="services" class="Services content">
|
||||||
<h2>Services.</h2>
|
<h2>Services.</h2>
|
|
@ -1,5 +1,3 @@
|
||||||
<style scoped src="./Skills.css"/>
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<section id="skills" class="Skills content">
|
<section id="skills" class="Skills content">
|
||||||
<h2>Meine Expertise.</h2>
|
<h2>Meine Expertise.</h2>
|
|
@ -1,5 +1,3 @@
|
||||||
<style scoped src="./Technology.css"/>
|
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="Technology flex-col" :class="[size]">
|
<div class="Technology flex-col" :class="[size]">
|
||||||
<a v-if="link" :href="link" target="_blank" rel="noopener noreferrer">
|
<a v-if="link" :href="link" target="_blank" rel="noopener noreferrer">
|
|
@ -9,7 +9,17 @@ export default defineNuxtConfig({
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
css: [
|
css: [
|
||||||
'~/assets/css/fonts.css'
|
'~/assets/css/fonts.css',
|
||||||
|
'~/assets/css/global.css',
|
||||||
|
'~/assets/css/header.css',
|
||||||
|
'~/assets/css/intro.css',
|
||||||
|
'~/assets/css/skills.css',
|
||||||
|
'~/assets/css/customers.css',
|
||||||
|
'~/assets/css/services.css',
|
||||||
|
'~/assets/css/footer.css',
|
||||||
|
'~/assets/css/technology.css',
|
||||||
|
'~/assets/css/person.css',
|
||||||
|
'~/assets/css/button.css',
|
||||||
],
|
],
|
||||||
routeRules: {
|
routeRules: {
|
||||||
'/': { prerender: true },
|
'/': { prerender: true },
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue