it:sw:web
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| it:sw:web [2026/01/02 13:41] – vytvořeno admin | it:sw:web [2026/01/06 17:29] (aktuální) – admin | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| ====== Webové technologie (Frontend) ====== | ====== Webové technologie (Frontend) ====== | ||
| - | Webový frontend je tvořen třemi základními technologiemi, které | + | Frontend webových aplikací |
| + | ===== HTML (HyperText Markup Language) ===== | ||
| + | HTML je **strukturální značkovací jazyk** pro tvorbu webových stránek. Definuje obsah a jeho hierarchii pomocí značek (tagů). | ||
| - | ===== 1. HTML (HyperText Markup Language) ===== | + | ==== Co je HTML ==== |
| - | HTML není programovací jazyk, ale **značkovací jazyk**. Slouží k definování obsahu | + | HTML není programovací jazyk, ale **markup language** - jazyk pro značkování obsahu. Každý element má svůj sémantický význam |
| - | ==== Klíčové prvky HTML: ==== | + | **Základní charakteristika:** |
| - | | + | * Popisuje strukturu dokumentu |
| - | * **Atributy: | + | * Používá značky uzavřené do lomených závorek, například |
| - | | + | * Je to kostra webové stránky |
| + | * Aktuální verze je HTML5 (od roku 2014) | ||
| + | ==== Struktura HTML dokumentu ==== | ||
| + | <code html> | ||
| + | < | ||
| + | <html lang=" | ||
| + | < | ||
| + | <meta charset=" | ||
| + | <meta name=" | ||
| + | < | ||
| + | <link rel=" | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| - | --- | + | ==== Nejdůležitější HTML elementy ==== |
| - | ===== 2. CSS (Cascading Style Sheets) ===== | + | **Strukturální elementy: |
| + | * ''< | ||
| + | * ''< | ||
| + | * ''< | ||
| + | * ''< | ||
| + | * ''< | ||
| + | * ''< | ||
| + | * ''< | ||
| - | CSS je jazyk určený pro popis způsobu zobrazení elementů na stránce. Umožňuje oddělit obsah (HTML) od designu. | + | **Textové elementy: |
| + | * ''< | ||
| + | * ''< | ||
| + | * ''< | ||
| + | * ''< | ||
| + | * ''< | ||
| + | * ''< | ||
| - | ==== Možnosti CSS: ==== | + | **Odkazy a multimédia:** |
| - | | + | * '' |
| - | * **Box Model:** Každý prvek na webu je vnímán jako obdélník s vlastnostmi: | + | * '' |
| - | * **Layouty: | + | * '' |
| - | * **Responzivní design:** Pomocí **Media Queries** lze měnit vzhled webu podle velikosti obrazovky (mobil vs. desktop). | + | * '' |
| + | **Seznamy: | ||
| + | * ''< | ||
| + | * ''< | ||
| + | * ''< | ||
| + | **Formuláře: | ||
| + | * ''< | ||
| + | * ''< | ||
| + | * ''< | ||
| + | * ''< | ||
| + | * ''< | ||
| - | --- | + | **Příklad komplexnější struktury: |
| + | <code html> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <img src=" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | <a href="#"> | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| - | ===== 3. JavaScript (JS) ===== | + | ==== HTML atributy |
| - | JavaScript je vysokoúrovňový, interpretovaný programovací jazyk, který vdechuje webu život. | + | Elementy mohou mít **atributy**, které poskytují dodatečné informace: |
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| - | ==== Role JavaScriptu: | + | <code html> |
| - | | + | <div id=" |
| - | * **Event Handling:** Reagování na akce uživatele (stisk klávesy, pohyb myši, odeslání formuláře). | + | |
| - | * **Asynchronní komunikace (AJAX/Fetch):** Načítání dat ze serveru na pozadí bez nutnosti obnovit celou stránku. | + | </ |
| - | * **Ekosystém: | + | </code> |
| + | ===== CSS (Cascading Style Sheets) ===== | ||
| + | CSS je **stylový jazyk** pro vizuální úpravu webových stránek. Určuje, jak mají HTML elementy vypadat a jak jsou rozmístěny na stránce. | ||
| - | --- | + | ==== Co je CSS ==== |
| - | ===== 4. Jak technologie spolupracují (Model prohlížeče) ===== | + | CSS odděluje **prezentaci** od **struktury**. Zatímco HTML definuje, co je obsah, CSS určuje, jak má obsah vypadat. |
| - | 1. Prohlížeč stáhne | + | **Základní charakteristika: |
| - | | + | * Definuje barvy, fonty, rozložení, |
| - | | + | * Odděluje vzhled od struktury |
| - | | + | * Umožňuje responzivní design pro různá zařízení |
| + | * Kaskádové - styly se dědí | ||
| + | * Aktuální verze je CSS3 | ||
| - | --- | + | ==== Způsoby připojení CSS ==== |
| - | ===== 5. Webové standardy a prohlížeče ===== | + | **1. Externí CSS soubor (doporučeno):** |
| + | <code html> | ||
| + | <link rel=" | ||
| + | </ | ||
| - | Aby web vypadal všude stejně, dohlíží na standardy organizace **W3C** (World Wide Web Consortium). Prohlížeče (Chrome, Firefox, Safari) používají vykreslovací jádra (Blink, Gecko, WebKit), která interpretují kód. | + | **2. Interní CSS (v hlavičce HTML):** |
| + | <code html> | ||
| + | < | ||
| + | h1 { color: blue; } | ||
| + | </ | ||
| + | </ | ||
| - | ---- | + | **3. Inline CSS (přímo v elementu):** |
| - | // | + | <code html> |
| - | | + | <h1 style=" |
| - | | + | </ |
| - | * [[it:dev: | + | |
| - | //Tagy: {{tag>web html css javascript frontend browser | + | ==== Anatomie CSS pravidla ==== |
| + | |||
| + | <code css> | ||
| + | selektor { | ||
| + | vlastnost: hodnota; | ||
| + | další-vlastnost: | ||
| + | } | ||
| + | </code> | ||
| + | |||
| + | **Příklad: | ||
| + | <code css> | ||
| + | h1 { | ||
| + | color: blue; /* Barva textu */ | ||
| + | font-size: 24px; /* Velikost písma */ | ||
| + | text-align: center; | ||
| + | margin-bottom: | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Typy selektorů ==== | ||
| + | |||
| + | **Elementový selektor: | ||
| + | <code css> | ||
| + | p { color: black; } /* Všechny <p> elementy */ | ||
| + | </ | ||
| + | |||
| + | **Třídní selektor (class): | ||
| + | <code css> | ||
| + | .zvyrazneny | ||
| + | </code> | ||
| + | |||
| + | **ID selektor: | ||
| + | < | ||
| + | #hlavicka { font-size: 32px; } /* id=" | ||
| + | </ | ||
| + | |||
| + | **Kombinované selektory: | ||
| + | <code css> | ||
| + | div p { color: red; } /* <p> uvnitř <div> */ | ||
| + | .box h2 { margin: 0; } /* <h2> uvnitř elementu s class=" | ||
| + | a:hover { color: green; } /* Odkaz při najetí myší */ | ||
| + | input:focus { border: 2px solid blue; } /* Vstup při zaměření */ | ||
| + | </ | ||
| + | |||
| + | ==== Box Model ==== | ||
| + | |||
| + | Každý HTML element je obdélník s následující strukturou: | ||
| + | |||
| + | < | ||
| + | +---------------------------+ | ||
| + | | margin | ||
| + | | +---------------------+ | ||
| + | | | | ||
| + | | | +---------------+ | ||
| + | | | | | ||
| + | | | | +---------+ | ||
| + | | | | | content | | | | Obsah | ||
| + | | | | +---------+ | ||
| + | | | +---------------+ | ||
| + | | +---------------------+ | ||
| + | +---------------------------+ | ||
| + | </ | ||
| + | |||
| + | <code css> | ||
| + | .box { | ||
| + | width: 300px; | ||
| + | height: 200px; | ||
| + | padding: 20px; /* Vnitřní okraj */ | ||
| + | border: 2px solid black; | ||
| + | margin: 10px; /* Vnější okraj */ | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Důležité CSS vlastnosti ==== | ||
| + | |||
| + | **Barvy: | ||
| + | <code css> | ||
| + | color: red; /* Pojmenovaná barva */ | ||
| + | color: # | ||
| + | color: rgb(255, 0, 0); /* RGB */ | ||
| + | color: rgba(255, 0, 0, 0.5); /* RGB s průhledností */ | ||
| + | background-color: | ||
| + | </ | ||
| + | |||
| + | **Texty: | ||
| + | <code css> | ||
| + | font-family: | ||
| + | font-size: 16px; /* Velikost */ | ||
| + | font-weight: | ||
| + | text-align: center; | ||
| + | text-decoration: | ||
| + | line-height: | ||
| + | </ | ||
| + | |||
| + | **Rozložení (Layout): | ||
| + | <code css> | ||
| + | display: block; | ||
| + | display: inline; | ||
| + | display: flex; /* Flexbox layout */ | ||
| + | display: grid; /* Grid layout */ | ||
| + | position: relative; | ||
| + | position: absolute; | ||
| + | float: left; /* Obtékání */ | ||
| + | </ | ||
| + | |||
| + | **Flexbox (moderní layout): | ||
| + | <code css> | ||
| + | .kontejner { | ||
| + | display: flex; | ||
| + | justify-content: | ||
| + | align-items: | ||
| + | gap: 20px; /* Mezery mezi prvky */ | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Responzivní | ||
| + | |||
| + | **Media queries** umožňují různé styly pro různé velikosti obrazovek: | ||
| + | |||
| + | <code css> | ||
| + | /* Základní styly pro mobily */ | ||
| + | .kontejner { | ||
| + | width: 100%; | ||
| + | padding: 10px; | ||
| + | } | ||
| + | |||
| + | /* Styly pro tablety a větší */ | ||
| + | @media (min-width: 768px) { | ||
| + | .kontejner { | ||
| + | width: 750px; | ||
| + | padding: 20px; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | /* Styly pro desktop */ | ||
| + | @media (min-width: 1200px) { | ||
| + | .kontejner { | ||
| + | width: 1140px; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Příklad kompletnějšího CSS ==== | ||
| + | |||
| + | <code css> | ||
| + | /* Reset základních stylů */ | ||
| + | * { | ||
| + | margin: 0; | ||
| + | padding: 0; | ||
| + | box-sizing: border-box; | ||
| + | } | ||
| + | |||
| + | body { | ||
| + | font-family: | ||
| + | line-height: | ||
| + | color: #333; | ||
| + | background-color: | ||
| + | } | ||
| + | |||
| + | .container { | ||
| + | max-width: 1200px; | ||
| + | margin: 0 auto; | ||
| + | padding: 20px; | ||
| + | } | ||
| + | |||
| + | .card { | ||
| + | background: white; | ||
| + | border-radius: | ||
| + | box-shadow: 0 2px 4px rgba(0, | ||
| + | padding: 20px; | ||
| + | margin-bottom: | ||
| + | transition: transform 0.3s ease; | ||
| + | } | ||
| + | |||
| + | .card:hover { | ||
| + | transform: translateY(-5px); | ||
| + | box-shadow: 0 4px 8px rgba(0, | ||
| + | } | ||
| + | |||
| + | .btn { | ||
| + | display: inline-block; | ||
| + | padding: 10px 20px; | ||
| + | background-color: | ||
| + | color: white; | ||
| + | text-decoration: | ||
| + | border-radius: | ||
| + | transition: background-color 0.3s; | ||
| + | } | ||
| + | |||
| + | .btn:hover { | ||
| + | background-color: | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== JavaScript ===== | ||
| + | |||
| + | JavaScript je **interpretovaný programovací jazyk**, který umožňuje interaktivitu a dynamické chování webových stránek. Je to jediný programovací jazyk, který běží nativně v prohlížeči. | ||
| + | |||
| + | ==== Co je JavaScript ==== | ||
| + | |||
| + | JavaScript (zkráceně JS) je plnohodnotný programovací jazyk s širokou škálou využití od jednoduchých interakcí až po komplexní webové aplikace. | ||
| + | |||
| + | **Základní charakteristika: | ||
| + | * Reaguje na události (kliknutí, psaní, pohyb myši) | ||
| + | * Mění obsah stránky bez nutnosti jejího znovunačtení | ||
| + | * Komunikuje se servery (AJAX, Fetch API) | ||
| + | * Validuje formuláře, | ||
| + | * Je objektově orientovaný a funkcionální | ||
| + | * Běží v prohlížeči (frontend) i na serveru (Node.js - backend) | ||
| + | |||
| + | ==== Způsoby připojení JavaScriptu ==== | ||
| + | |||
| + | **1. Externí JS soubor (doporučeno): | ||
| + | <code html> | ||
| + | <script src=" | ||
| + | </ | ||
| + | |||
| + | **2. Interní JavaScript: | ||
| + | <code html> | ||
| + | < | ||
| + | console.log(' | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | **3. Inline JavaScript (nedoporučuje se):** | ||
| + | <code html> | ||
| + | <button onclick=" | ||
| + | </ | ||
| + | |||
| + | ==== Základní syntaxe ==== | ||
| + | |||
| + | **Proměnné: | ||
| + | <code javascript> | ||
| + | // Moderní způsob deklarace proměnných | ||
| + | let jmeno = ' | ||
| + | const vek = 25; // Konstanta (nelze měnit) | ||
| + | var stary = ' | ||
| + | |||
| + | // Datové typy | ||
| + | let cislo = 42; // Number | ||
| + | let text = " | ||
| + | let pravda = true; // Boolean | ||
| + | let pole = [1, 2, 3]; // Array (pole) | ||
| + | let objekt = {jmeno: ' | ||
| + | let nic = null; // Null | ||
| + | let nedefinovano = undefined; | ||
| + | </ | ||
| + | |||
| + | **Operátory: | ||
| + | <code javascript> | ||
| + | // Aritmetické | ||
| + | let soucet = 5 + 3; // 8 | ||
| + | let rozdil = 5 - 3; // 2 | ||
| + | let soucin = 5 * 3; // 15 | ||
| + | let podil = 6 / 3; // 2 | ||
| + | let zbytek = 7 % 3; // 1 (modulo) | ||
| + | |||
| + | // Porovnávací | ||
| + | 5 == ' | ||
| + | 5 === ' | ||
| + | 5 != 3; // true | ||
| + | 5 > 3; // true | ||
| + | 5 <= 5; // true | ||
| + | |||
| + | // Logické | ||
| + | true && false; | ||
| + | true || false; | ||
| + | !true; | ||
| + | </ | ||
| + | |||
| + | ==== Podmínky a cykly ==== | ||
| + | |||
| + | **Podmínky: | ||
| + | <code javascript> | ||
| + | let vek = 20; | ||
| + | |||
| + | if (vek >= 18) { | ||
| + | console.log(' | ||
| + | } else if (vek >= 15) { | ||
| + | console.log(' | ||
| + | } else { | ||
| + | console.log(' | ||
| + | } | ||
| + | |||
| + | // Ternární operátor | ||
| + | let status = vek >= 18 ? ' | ||
| + | |||
| + | // Switch | ||
| + | switch (den) { | ||
| + | case ' | ||
| + | console.log(' | ||
| + | break; | ||
| + | case ' | ||
| + | console.log(' | ||
| + | break; | ||
| + | default: | ||
| + | console.log(' | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | **Cykly: | ||
| + | <code javascript> | ||
| + | // For cyklus | ||
| + | for (let i = 0; i < 5; i++) { | ||
| + | console.log(i); | ||
| + | } | ||
| + | |||
| + | // While cyklus | ||
| + | let i = 0; | ||
| + | while (i < 5) { | ||
| + | console.log(i); | ||
| + | i++; | ||
| + | } | ||
| + | |||
| + | // For...of pro pole | ||
| + | let ovoce = [' | ||
| + | for (let kus of ovoce) { | ||
| + | console.log(kus); | ||
| + | } | ||
| + | |||
| + | // ForEach | ||
| + | ovoce.forEach(function(kus) { | ||
| + | console.log(kus); | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | ==== Funkce ==== | ||
| + | |||
| + | <code javascript> | ||
| + | // Klasická funkce | ||
| + | function pozdrav(jmeno) { | ||
| + | return 'Ahoj ' + jmeno + ' | ||
| + | } | ||
| + | |||
| + | // Arrow funkce (moderní ES6) | ||
| + | const secti = (a, b) => { | ||
| + | return a + b; | ||
| + | }; | ||
| + | |||
| + | // Zkrácená arrow funkce | ||
| + | const nasobVDva = x => x * 2; | ||
| + | |||
| + | // Volání funkce | ||
| + | console.log(pozdrav(' | ||
| + | console.log(secti(5, | ||
| + | console.log(nasobVDva(4)); | ||
| + | </ | ||
| + | |||
| + | ==== Pole (Arrays) ==== | ||
| + | |||
| + | <code javascript> | ||
| + | let cisla = [1, 2, 3, 4, 5]; | ||
| + | |||
| + | // Přidání prvku | ||
| + | cisla.push(6); | ||
| + | cisla.unshift(0); | ||
| + | |||
| + | // Odebrání prvku | ||
| + | cisla.pop(); | ||
| + | cisla.shift(); | ||
| + | |||
| + | // Užitečné metody | ||
| + | cisla.length; | ||
| + | cisla.indexOf(3); | ||
| + | cisla.includes(3); | ||
| + | cisla.slice(1, | ||
| + | |||
| + | // Pokročilé metody | ||
| + | let dvojnasobek = cisla.map(x => x * 2); // [2, 4, 6, 8, 10] | ||
| + | let sude = cisla.filter(x => x % 2 === 0); // [2, 4] | ||
| + | let soucet = cisla.reduce((a, | ||
| + | </ | ||
| + | |||
| + | ==== Objekty ==== | ||
| + | |||
| + | <code javascript> | ||
| + | // Vytvoření objektu | ||
| + | let osoba = { | ||
| + | jmeno: ' | ||
| + | prijmeni: ' | ||
| + | vek: 30, | ||
| + | email: ' | ||
| + | pozdrav: function() { | ||
| + | return 'Ahoj, jsem ' + this.jmeno; | ||
| + | } | ||
| + | }; | ||
| + | |||
| + | // Přístup k vlastnostem | ||
| + | console.log(osoba.jmeno); | ||
| + | console.log(osoba[' | ||
| + | console.log(osoba.pozdrav()); | ||
| + | |||
| + | // Přidání/ | ||
| + | osoba.telefon = ' | ||
| + | osoba.vek = 31; | ||
| + | |||
| + | // Odstranění vlastnosti | ||
| + | delete osoba.email; | ||
| + | </ | ||
| + | |||
| + | ==== DOM Manipulace ==== | ||
| + | |||
| + | DOM (Document Object Model) je rozhraní pro práci s HTML dokumentem. | ||
| + | |||
| + | **Výběr elementů: | ||
| + | <code javascript> | ||
| + | // Výběr jednoho elementu | ||
| + | let nadpis = document.getElementById(' | ||
| + | let prvniOdstavec = document.querySelector(' | ||
| + | let tlacitko = document.querySelector(' | ||
| + | |||
| + | // Výběr více elementů | ||
| + | let vsechnyOdstavce = document.querySelectorAll(' | ||
| + | let divySTridou = document.getElementsByClassName(' | ||
| + | </ | ||
| + | |||
| + | **Změna obsahu:** | ||
| + | <code javascript> | ||
| + | // Změna textu | ||
| + | nadpis.textContent = 'Nový text'; | ||
| + | nadpis.innerHTML = '< | ||
| + | |||
| + | // Změna atributů | ||
| + | let obrazek = document.querySelector(' | ||
| + | obrazek.src = ' | ||
| + | obrazek.alt = ' | ||
| + | |||
| + | // Změna stylů | ||
| + | nadpis.style.color = ' | ||
| + | nadpis.style.fontSize = ' | ||
| + | nadpis.style.display = ' | ||
| + | |||
| + | // Práce s třídami | ||
| + | nadpis.classList.add(' | ||
| + | nadpis.classList.remove(' | ||
| + | nadpis.classList.toggle(' | ||
| + | </ | ||
| + | |||
| + | **Vytváření elementů: | ||
| + | <code javascript> | ||
| + | // Vytvoření nového elementu | ||
| + | let novyDiv = document.createElement(' | ||
| + | novyDiv.textContent = 'Nový obsah'; | ||
| + | novyDiv.classList.add(' | ||
| + | |||
| + | // Přidání do stránky | ||
| + | document.body.appendChild(novyDiv); | ||
| + | |||
| + | // Odebrání elementu | ||
| + | novyDiv.remove(); | ||
| + | </ | ||
| + | |||
| + | ==== Události (Events) ==== | ||
| + | |||
| + | <code javascript> | ||
| + | // Kliknutí | ||
| + | let tlacitko = document.querySelector(' | ||
| + | tlacitko.addEventListener(' | ||
| + | alert(' | ||
| + | }); | ||
| + | |||
| + | // Arrow funkce | ||
| + | tlacitko.addEventListener(' | ||
| + | console.log(' | ||
| + | }); | ||
| + | |||
| + | // Různé typy událostí | ||
| + | document.addEventListener(' | ||
| + | console.log(' | ||
| + | }); | ||
| + | |||
| + | let input = document.querySelector(' | ||
| + | input.addEventListener(' | ||
| + | console.log(' | ||
| + | }); | ||
| + | |||
| + | input.addEventListener(' | ||
| + | console.log(' | ||
| + | }); | ||
| + | |||
| + | input.addEventListener(' | ||
| + | console.log(' | ||
| + | }); | ||
| + | |||
| + | // Pohyb myši | ||
| + | document.addEventListener(' | ||
| + | console.log(' | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | ==== Asynchronní JavaScript ==== | ||
| + | |||
| + | **Časovače: | ||
| + | <code javascript> | ||
| + | // Spuštění po 2 sekundách | ||
| + | setTimeout(() => { | ||
| + | console.log(' | ||
| + | }, 2000); | ||
| + | |||
| + | // Opakování každou sekundu | ||
| + | let interval = setInterval(() => { | ||
| + | console.log(' | ||
| + | }, 1000); | ||
| + | |||
| + | // Zastavení intervalu | ||
| + | clearInterval(interval); | ||
| + | </ | ||
| + | |||
| + | **Fetch API (komunikace se serverem): | ||
| + | <code javascript> | ||
| + | // Získání dat ze serveru | ||
| + | fetch(' | ||
| + | .then(response => response.json()) | ||
| + | .then(data => { | ||
| + | console.log(data); | ||
| + | }) | ||
| + | .catch(error => { | ||
| + | console.error(' | ||
| + | }); | ||
| + | |||
| + | // Moderní async/await syntaxe | ||
| + | async function nactiData() { | ||
| + | try { | ||
| + | let response = await fetch(' | ||
| + | let data = await response.json(); | ||
| + | console.log(data); | ||
| + | } catch (error) { | ||
| + | console.error(' | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Praktický příklad ==== | ||
| + | |||
| + | <code javascript> | ||
| + | // Interaktivní todo list | ||
| + | document.addEventListener(' | ||
| + | const form = document.querySelector('# | ||
| + | const input = document.querySelector('# | ||
| + | const list = document.querySelector('# | ||
| + | |||
| + | // Přidání nového úkolu | ||
| + | form.addEventListener(' | ||
| + | e.preventDefault(); | ||
| + | |||
| + | const text = input.value.trim(); | ||
| + | if (text === '' | ||
| + | |||
| + | // Vytvoření nového prvku | ||
| + | const li = document.createElement(' | ||
| + | li.textContent = text; | ||
| + | |||
| + | // Přidání tlačítka pro smazání | ||
| + | const btn = document.createElement(' | ||
| + | btn.textContent = ' | ||
| + | btn.addEventListener(' | ||
| + | li.remove(); | ||
| + | }); | ||
| + | |||
| + | li.appendChild(btn); | ||
| + | list.appendChild(li); | ||
| + | |||
| + | // Vyčištění inputu | ||
| + | input.value = ''; | ||
| + | }); | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | ===== Vzájemná spolupráce ===== | ||
| + | |||
| + | Tyto tři technologie fungují jako **stavební bloky moderního webu**: | ||
| + | |||
| + | * **HTML** = struktura (co je na stránce) | ||
| + | * **CSS** = vzhled (jak to vypadá) | ||
| + | * **JavaScript** = chování (co to dělá) | ||
| + | |||
| + | **Analogie: | ||
it/sw/web.1767357683.txt.gz · Poslední úprava: autor: admin
