acayip-home/index.html

374 lines
8.2 KiB
HTML
Raw Normal View History

2024-08-23 19:20:17 +00:00
<!DOCTYPE html>
2024-08-23 18:34:46 +00:00
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
2024-08-23 19:20:17 +00:00
<link rel="stylesheet" href="/style/style.css" />
<style>
2024-08-26 16:32:37 +00:00
a {
text-decoration: none;
color: black;
}
a:hover {
color: black;
text-decoration: underline;
}
2024-08-23 19:20:17 +00:00
p {
margin: 0;
}
2024-08-25 15:12:43 +00:00
.app-name {
font-family: "Source Sans Pro", sans-serif;
font-size: 36px;
}
2024-08-23 19:20:17 +00:00
body {
margin-top: 48px;
2024-08-25 15:12:43 +00:00
display: flex;
flex-direction: column;
align-items: center;
2024-08-23 19:20:17 +00:00
}
2024-08-25 18:07:48 +00:00
#logo:hover {
transition-property: transform;
transition-duration: 150ms;
}
2024-08-23 19:20:17 +00:00
#logo {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
2024-08-25 14:32:32 +00:00
border: 1px solid white;
2024-08-23 19:20:17 +00:00
padding: 24px 48px;
gap: 24px;
2024-08-25 14:32:32 +00:00
transition-property: transform;
2024-08-25 18:07:48 +00:00
transition-duration: 800ms;
2024-08-23 19:20:17 +00:00
}
#logo-container {
display: flex;
flex-direction: column;
align-items: center;
2024-08-25 15:12:43 +00:00
grid-area: main;
}
#pan-container {
padding: 20px;
2024-08-23 19:20:17 +00:00
}
.brand-name {
font-family: "Source Code Pro", monospace;
font-size: 64px;
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-between;
}
.reverse {
transform: scaleX(-1);
}
2024-08-25 14:32:32 +00:00
2024-08-25 15:12:43 +00:00
.container {
width: 1280px;
display: grid;
grid-template-columns: 256px 1fr 256px;
grid-template-rows: 290px 290px 290px;
gap: 24px 0px;
grid-auto-flow: row;
grid-template-areas:
"app1 main app2"
". main app3"
". main .";
}
.app {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
2024-08-25 18:25:09 +00:00
border: 1px solid white;
2024-08-25 15:12:43 +00:00
gap: 24px;
height: 290px;
2024-08-25 17:54:11 +00:00
transition-property: opacity;
transition-duration: 500ms;
2024-08-25 15:12:43 +00:00
opacity: 0.3;
}
2024-08-26 16:32:37 +00:00
.app-disabled {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border: 1px solid white;
gap: 24px;
height: 290px;
transition-property: opacity;
transition-duration: 500ms;
opacity: 0.3;
}
2024-08-25 17:54:11 +00:00
.app:hover {
2024-08-26 16:32:37 +00:00
body {
margin-top: 48px;
display: flex;
flex-direction: column;
align-items: center;
}
2024-08-25 17:54:11 +00:00
transition-property: opacity;
transition-duration: 500ms;
opacity: 0.8;
}
2024-08-25 15:12:43 +00:00
.app1 {
grid-area: app1;
padding: 20px 0;
}
.app2 {
grid-area: app2;
padding: 20px 0;
}
.app3 {
grid-area: app3;
padding: 20px 0;
}
2024-08-26 16:32:37 +00:00
@media (max-width: 1300px) {
.app-name {
font-family: "Source Sans Pro", sans-serif;
font-size: 20px;
}
body {
margin-top: 24px;
margin-bottom: 48px;
}
#logo {
padding: 12px 24px;
gap: 12px;
}
#pan-container {
padding: 0px;
}
.brand-name {
font-family: "Source Code Pro", monospace;
font-size: 24px;
}
#logo-image {
height: 240px;
width: 240px;
}
.container {
width: 290px;
display: grid;
grid-template-columns: 141px 141px;
grid-template-rows: 340px 160px 160px;
gap: 8px 8px;
grid-auto-flow: row;
grid-template-areas:
"main main"
"app1 app2"
"app3 .";
justify-content: space-between;
}
.app-image {
width: 64px;
height: 64px;
}
.app {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border: 1px solid white;
gap: 12px;
height: 160px;
transition-property: opacity;
transition-duration: 500ms;
opacity: 0.3;
}
.app-disabled {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
border: 1px solid white;
gap: 24px;
height: 160px;
transition-property: opacity;
transition-duration: 500ms;
opacity: 0.3;
}
.app:hover {
transition-property: opacity;
transition-duration: 500ms;
opacity: 0.8;
}
.app1 {
grid-area: app1;
padding: 20px 0;
}
.app2 {
grid-area: app2;
padding: 20px 0;
}
.app3 {
grid-area: app3;
padding: 20px 0;
}
}
2024-08-25 14:32:32 +00:00
@media (prefers-color-scheme: light) {
#logo {
border: 1px solid black;
}
2024-08-25 18:25:09 +00:00
.app {
border: 1px solid black;
}
2024-08-26 16:32:37 +00:00
.app-disabled {
border: 1px solid black;
}
2024-08-25 14:32:32 +00:00
}
2024-08-23 19:20:17 +00:00
</style>
2024-08-23 18:34:46 +00:00
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite + TS</title>
</head>
<body>
2024-08-25 15:12:43 +00:00
<div class="container">
<div class="app1">
2024-08-26 16:32:37 +00:00
<a href="https://blog.log101.dev">
<div class="app">
<img
src="/ikon.png"
height="128px"
width="128px"
class="app-image"
/>
<p class="app-name">Blog</p>
</div>
</a>
2024-08-25 15:12:43 +00:00
</div>
<div class="app2">
2024-08-26 16:32:37 +00:00
<a href="https://konulukonum.log101.dev">
<div class="app">
<img
src="/konulu-konum-logo.jpg"
height="128px"
width="128px"
class="app-image"
/>
<p class="app-name">Konulu<br />Konum</p>
</div>
</a>
2024-08-25 15:12:43 +00:00
</div>
<div class="app3">
2024-08-26 16:32:37 +00:00
<div class="app-disabled">
<p class="app-name">Yakında...</p>
2024-08-25 15:12:43 +00:00
</div>
</div>
<div id="logo-container">
<div id="pan-container">
<div id="logo">
<div id="brand-reversed" class="brand-name reverse">
<p>A</p>
<p>C</p>
<p>A</p>
<p>Y</p>
<p>İ</p>
<p>P</p>
</div>
2024-08-26 16:32:37 +00:00
<img
width="624"
height="624"
src="/acayip-logo.png"
id="logo-image"
/>
2024-08-25 15:12:43 +00:00
<div id="brand" class="brand-name">
<p>A</p>
<p>C</p>
<p>A</p>
<p>Y</p>
<p>İ</p>
<p>P</p>
</div>
2024-08-25 14:32:32 +00:00
</div>
2024-08-23 19:20:17 +00:00
</div>
</div>
</div>
2024-08-25 14:32:32 +00:00
<script>
2024-08-25 17:54:11 +00:00
let constrain = 800;
2024-08-25 14:32:32 +00:00
let panContainer = document.getElementById("pan-container");
let ex1Layer = document.getElementById("logo");
function transforms(x, y, el) {
let box = el.getBoundingClientRect();
let calcX = -(y - box.y - box.height / 2) / constrain;
let calcY = (x - box.x - box.width / 2) / constrain;
return (
2024-08-25 18:07:48 +00:00
"perspective(200px) " +
2024-08-25 14:32:32 +00:00
" rotateX(" +
calcX +
"deg) " +
" rotateY(" +
calcY +
"deg) "
);
}
function resetTransform(x, y, el) {
return (
"perspective(100px) " + " rotateX(0deg) " + " rotateY(0deg) "
);
}
function transformElement(el, xyEl) {
el.style.transform = transforms.apply(null, xyEl);
}
function resetElement(el, xyEl) {
el.style.transform = resetTransform.apply(null, xyEl);
}
panContainer.onmousemove = function (e) {
let xy = [e.clientX, e.clientY];
let position = xy.concat([ex1Layer]);
window.requestAnimationFrame(function () {
transformElement(ex1Layer, position);
});
};
panContainer.onmouseleave = function (e) {
let xy = [0, 0];
let position = xy.concat([ex1Layer]);
window.requestAnimationFrame(function () {
resetElement(ex1Layer, position);
});
};
</script>
2024-08-23 18:34:46 +00:00
</body>
</html>