initial commit
This commit is contained in:
commit
2baaa573f5
|
@ -0,0 +1,24 @@
|
|||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
|
@ -0,0 +1,29 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Vite App</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app" class="wrapper">
|
||||
<ul class="orbitals clockwise">
|
||||
<li class="orbital bg-red"><div class="orbital-content content-center anti-clockwise"><p>Hallo!</p></div></li>
|
||||
<li class="orbital bg-green"><div class="orbital-content"></div></li>
|
||||
<li class="orbital bg-blue"><div class="orbital-content"></div></li>
|
||||
<li class="orbital bg-red"><div class="orbital-content content-center anti-clockwise"><p>How's things?</p></div></li>
|
||||
<li class="orbital bg-green"><div class="orbital-content"></div></li>
|
||||
<li class="orbital bg-blue"><div class="orbital-content"></div></li>
|
||||
<li class="orbital bg-red"><div class="orbital-content"></div></li>
|
||||
<li class="orbital bg-green"><div class="orbital-content"></div></li>
|
||||
</ul>
|
||||
<div class="inner-content">
|
||||
<div class="image-hover">
|
||||
<img class="img" src="https://via.placeholder.com/256x256/999/333">
|
||||
<img class="img" src="https://via.placeholder.com/256x256/666/ccc">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="module" src="/main.js"></script>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"name": "orbitals",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "vite build",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"devDependencies": {
|
||||
"postcss-nesting": "^10.1.4",
|
||||
"postcss-preset-env": "^7.4.3",
|
||||
"vite": "^2.9.5"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
module.exports = {
|
||||
plugins: {
|
||||
"postcss-preset-env": {},
|
||||
"postcss-nesting": {},
|
||||
},
|
||||
};
|
|
@ -0,0 +1,161 @@
|
|||
:root {
|
||||
--width__inner-content: 10em;
|
||||
--width__orbital: 7em;
|
||||
|
||||
--radius__orbital: 14em;
|
||||
--radius__orbital--diagonal: calc(var(--radius__orbital) / 1.4142);
|
||||
}
|
||||
|
||||
body, html {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
background-color: rgba(0, 255, 0, 0.1);
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
position: relative;
|
||||
width: 80vw;
|
||||
height: 80vh;
|
||||
|
||||
font-size: 1rem;
|
||||
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
ul, li {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.orbitals {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.orbital {
|
||||
position: absolute;
|
||||
width: var(--width__orbital);
|
||||
height: var(--width__orbital);
|
||||
border-radius: 50%;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
|
||||
&:nth-child(1) {
|
||||
/* top */
|
||||
transform: translate(-50%, calc(-50% - var(--radius__orbital)));
|
||||
}
|
||||
|
||||
&:nth-child(2) {
|
||||
/* top right */
|
||||
transform: translate(calc(-50% + var(--radius__orbital--diagonal)), calc(-50% - var(--radius__orbital--diagonal)));
|
||||
}
|
||||
|
||||
&:nth-child(3) {
|
||||
/* right */
|
||||
transform: translate(calc(-50% + var(--radius__orbital)), -50%);
|
||||
}
|
||||
|
||||
&:nth-child(4) {
|
||||
/* bottom right */
|
||||
transform: translate(calc(-50% + var(--radius__orbital--diagonal)), calc(-50% + var(--radius__orbital--diagonal)));
|
||||
}
|
||||
|
||||
&:nth-child(5) {
|
||||
/* bottom */
|
||||
transform: translate(-50%, calc(-50% + var(--radius__orbital)));
|
||||
}
|
||||
|
||||
&:nth-child(6) {
|
||||
/* bottom left */
|
||||
transform: translate(calc(-50% - var(--radius__orbital--diagonal)), calc(-50% + var(--radius__orbital--diagonal)));
|
||||
}
|
||||
|
||||
&:nth-child(7) {
|
||||
/* left */
|
||||
transform: translate(calc(-50% - var(--radius__orbital)), -50%);
|
||||
}
|
||||
|
||||
&:nth-child(8) {
|
||||
/* top left */
|
||||
transform: translate(calc(-50% - var(--radius__orbital--diagonal)), calc(-50% - var(--radius__orbital--diagonal)));
|
||||
}
|
||||
}
|
||||
|
||||
.orbital-content {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.inner-content {
|
||||
position: absolute;
|
||||
width: var(--width__inner-content);
|
||||
height: var(--width__inner-content);
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
|
||||
opacity: 0.3;
|
||||
}
|
||||
|
||||
.image-hover {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
& > .img {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
inset: 0;
|
||||
object-fit: cover;
|
||||
|
||||
&:last-child {
|
||||
transition: opacity .3s;
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover > .img {
|
||||
&:last-child {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.content-center {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.bg-red {
|
||||
background-color: rgba(255, 200, 200);
|
||||
}
|
||||
|
||||
.bg-green {
|
||||
background-color: rgba(200, 255, 200);
|
||||
}
|
||||
|
||||
.bg-blue {
|
||||
background-color: rgba(200, 200, 255);
|
||||
}
|
||||
|
||||
.clockwise {
|
||||
animation: rotate 20s linear infinite;
|
||||
}
|
||||
|
||||
.anti-clockwise {
|
||||
animation: rotate 20s reverse linear infinite;
|
||||
}
|
||||
|
||||
@keyframes rotate {
|
||||
from {
|
||||
transform: rotate(0);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue