diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..38797016d4333daa3daa6413ab8e697cd1678f81 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +workshop \ No newline at end of file diff --git a/css/dark.css b/css/dark.css new file mode 100644 index 0000000000000000000000000000000000000000..f285e9c7f301642fbd16102e3d49c31cbe8c9808 --- /dev/null +++ b/css/dark.css @@ -0,0 +1,16 @@ +body.dark { + color: #fff; +} + +body.dark::before { + filter: invert(1); +} + +.dark main { + background: #222227; +} + +.dark .dayName { + color: #ddd; + background-color: #444; +} diff --git a/css/layout.css b/css/layout.css new file mode 100644 index 0000000000000000000000000000000000000000..305da7973359d0b27cb989a5cae75dec2671e75d --- /dev/null +++ b/css/layout.css @@ -0,0 +1,46 @@ +/* Minden elemen beállítjuk ezeket */ +* { + margin: 0; + padding: 0; + box-sizing: border-box; /* Máshogy fog számolódni a Width és Height */ +} +body { + min-height: 100vh; /* függőleges középhez kell */ + display: flex; /* egyszerű lesz az elrendezés */ + align-items: center; /* Függőlegesen középre rendezés */ + justify-content: center; /* Vízszintesen középre rendezés */ +} +main { + display: flex; /* Tudjon reszponzívan nyúlni */ + min-width: 0; /* Vékony kijelzőn nem lesz levágva az eleje */ +} +.time { + width: 60px; +} +.day { + width: 180px; +} +.dayName { + height: 60px; + display: flex; + align-items: center; + justify-content: center; +} +.dayTimes, .dayEvents { + display: grid; /* Egyszerűen fogunk tudni 2D-ben dolgokat elhelyezni */ + /* 14 darab 60px magas sorunk lesz */ + grid-template-rows: repeat(14, 60px); /* Sorminta */ +} +.event { + margin: 1px; /* Minden irányban 1px margó, így 2px-es rések jönnek létre */ + padding: 15px 20px; /* Alul-felül 15px, jobbra-balra 20px kitöltés */ + /* Ha valami oknál fogva tovább akarna nyúlni, akkor ne */ + max-width: 178px; +} +.eventSubdivide { + /* Szeretjük a flexet */ + display: flex; +} +.eventSubdivide .event { + max-width: 88px; /* Ha valami oknál fogva tovább akarna nyúlni, akkor ne */ +} \ No newline at end of file diff --git a/css/responsive.css b/css/responsive.css new file mode 100644 index 0000000000000000000000000000000000000000..e6979879058749aa822b40714f1961c95bb8afe1 --- /dev/null +++ b/css/responsive.css @@ -0,0 +1,46 @@ +@media only screen and (max-width: 1380px) { + main { + display: block; /* blokként jelenjen meg a tartalma */ + max-width: 800px; /* Maximum eddig nyoljon szét a tartalom */ + /* Helyezzük középre, de most használjunk valami régit */ + margin-left: auto; + margin-right: auto; + } + body { + display: block; /* flexel nem fog működni, így visszatérünk blockra */ + } + .time { + display: none; /* Nem fog megjelenni */ + } + /* Ez mindennek a konténere, ha nem nyúlik szét, akkor semmi sem fog */ + .day { + width: 100%; /* Reszponzívan próbáld kitölteni a szabad helyet */ + } + /* gridről térjünk át flexre, de oszlopos legyen a megjelenés */ + .dayEvents { + display: flex; + flex-direction: column; + } + .event { + margin: 5px 10px; + max-width: 100%; /* Használjuk fel az összes szabad helyet */ + } + /* Csak az ütköző eseményekre alkalmazzuk */ + .eventSubdivide .event { + /* Ezzel fogják fele-fele arányban elfoglalni a helyet */ + min-width: calc(50% - 15px); /* Kiszámoljuk, mennyi legyen a minimális szélesség */ + } + /* Elég csak az elsőnek a belső margoját módosítani */ + .eventSubdivide .event:first-child { + margin-right: 0; + } +} + +@media only screen and (max-width: 1380px) { + main { + background: white; + } + .day { + border-left: none; + } +} \ No newline at end of file diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000000000000000000000000000000000000..368f5854e18ccd9a437b0b21a574d4615bd037d6 --- /dev/null +++ b/css/style.css @@ -0,0 +1,86 @@ +@font-face { + font-family: "Roboto"; /* Ezen a néven fogunk tudni rá hivatkozni */ + src: url("../font/Roboto-Regular.ttf") format("truetype"); /* Hol található és típusa */ + /* Figyeljünk a címzésre!!! */ +} +body { + font-family: "Roboto"; /* A fentebb 'létrehozott' betűtípust használjuk fel */ +} + +main { + background-color: white; /* legyen fehér a háttér */ + /* Ezt csak másoljuk le */ + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); +} +.dayName { + background-color: rgb(234, 234, 234); /* szürke háttérszín */ + font-size: large; /* betű méret */ + color: rgb(110, 110, 110); /* szövegszín */ +} +.dayTime { + font-size: medium; + color: rgb(110, 110, 110); + text-align: center; /* Középre igazítjuk a szöveget */ +} +.event { + background-color: rgb(23, 166, 151); + border-radius: 5px; /* lekerekítjük a négy sarkát */ + color: white; + /* Fogadjuk el, hogy ez van */ + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); +} +.eventTitle { + font-size: medium; + font-weight: 400; /* Mennyire legyen félkövér */ + word-wrap: break-word; /* Ha kell, akkor törd szét a szót, hogy ne lógjon túl */ +} +.eventSubdivide .eventTitle, +.length--1 .eventTitle { + overflow: hidden; /* Elrejtjük a görgetősávat */ + white-space: nowrap; /* Szóköznél nem kezdünk új sort ha nincs elég hely */ +} +.eventTime { + font-size: small; /* Az idő legyen kisebb */ + font-weight: 300; /* Ne legyen annyira vastag */ +} +.length--1 { + /* Mennyi cellát foglaljon el */ + grid-row-end: span 1; /* 1, azaz 1 cellát foglaljon el */ +} +.length--2 { + grid-row-end: span 2; /* 2, azaz 2 cellát foglaljon el */ +} +.length--4 { + grid-row-end: span 4; /* 4, azaz 4 cellát foglaljon el */ +} + +/* Unortodox csíkozás */ +main { + background: repeating-linear-gradient( + 0deg, + white, + white 59px, + rgb(234, 234, 234) 1px, + rgb(234, 234, 234) 60px + ); +} +.day { + border-left: 1px solid rgb(234, 234, 234); +} + +/* New stuff */ + +main { + position: relative; +} + +body::before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + + background-image: url("../img/rough_bg.jpg"); +} diff --git a/font/Roboto-Regular.ttf b/font/Roboto-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2b6392ffe8712b9c5450733320cd220d6c0f4bce Binary files /dev/null and b/font/Roboto-Regular.ttf differ diff --git a/img/rough_bg.jpg b/img/rough_bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a81643cf24ade62b2ddab2ada32e6b05e153c07e Binary files /dev/null and b/img/rough_bg.jpg differ diff --git a/index.html b/index.html new file mode 100644 index 0000000000000000000000000000000000000000..dcfd26e4b589bb1a8d12a0190a1e0109057f9e75 --- /dev/null +++ b/index.html @@ -0,0 +1,85 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <title>Naptár</title> + <link rel="stylesheet" href="css/layout.css" /> + <link rel="stylesheet" href="css/style.css" /> + <link rel="stylesheet" href="css/responsive.css" /> + <link rel="stylesheet" href="css/dark.css" /> + </head> + <body class="dark"> + <main> + <div class="time"> + <div class="dayName"></div> + <div class="dayTimes"> + <div class="dayTime">07:00</div> + <div class="dayTime">08:00</div> + <div class="dayTime">09:00</div> + <div class="dayTime">10:00</div> + <div class="dayTime">11:00</div> + <div class="dayTime">12:00</div> + <div class="dayTime">13:00</div> + <div class="dayTime">14:00</div> + <div class="dayTime">15:00</div> + <div class="dayTime">16:00</div> + <div class="dayTime">17:00</div> + <div class="dayTime">18:00</div> + <div class="dayTime">19:00</div> + <div class="dayTime">20:00</div> + </div> + </div> + <div class="day"> + <div class="dayName">Hétfő</div> + <div class="dayEvents"> + <div class="event length--4" style="grid-row-start: 4"> + <div class="eventTitle">Kommunikációs hálózatok 2</div> + <div class="eventDetails"> + <div class="eventTime">10:00-14:00</div> + </div> + </div> + <div class="eventSubdivide length--2" style="grid-row-start: 8"> + <div class="event length--2" style="grid-row-start: 1"> + <div class="eventTitle">Algoritmus elmélet</div> + <div class="eventDetails"> + <div class="eventTime">12:00-14:00</div> + </div> + </div> + <div class="event length--2" style="grid-row-start: 1"> + <div class="eventTitle">Kotlin alapú szoftverfejlesztés</div> + <div class="eventDetails"> + <div class="eventTime">12:00-14:00</div> + </div> + </div> + </div> + </div> + </div> + <div class="day"> + <div class="dayName">Kedd</div> + <div class="dayEvents"></div> + </div> + <div class="day"> + <div class="dayName">Szerda</div> + <div class="dayEvents"></div> + </div> + <div class="day"> + <div class="dayName">Csütörtök</div> + <div class="dayEvents"></div> + </div> + <div class="day"> + <div class="dayName">Péntek</div> + <div class="dayEvents"></div> + </div> + <div class="day"> + <div class="dayName">Szombat</div> + <div class="dayEvents"></div> + </div> + <div class="day"> + <div class="dayName">Vasárnap</div> + <div class="dayEvents"></div> + </div> + </main> + <script type="text/javascript" src="js/index.js"></script> + </body> +</html> diff --git a/js/index.js b/js/index.js new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391