Pre úplných začiatočníkov
Tim Berners-Lee
CERN
1989
Web != internet
Protokol pre prenos hypertextu
Tento text nemusí byť nutne lineárny
GET /praca/bratislava HTTP/1.1
Host: www.profesia.skHTTP/1.1 200 OK
Date: Tue, 04 Dec 2018 09:00:00 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 1024
Connection: close
<html>
<head>
<title>Profesia</title>
</head>
<body>
Zoznam inzerátov
</body>
</html>Značkovací jazyk hypertextu
Toto je hypertextový dokument.
Obsahuje linku na iný dokument.Toto je hypertextový dokument.
Obsahuje linku na <a href="iny-dokument.html">iný dokument.</a>Otvárací párový tag alebo nepárový tag:
<názov>
<názov prípadné="atribúty">
Uzatvárací párový tag:
</názov>
| Párové tagy | Nepárové tagy |
|---|---|
| <b>tučné písmo</b> | <br> - nový riadok |
| <i>kurzíva</i> | <img src="cesta"> - obrázok |
| <a href="adresa">linka</a> | <input> - formulárový prvok |
| <h1>Nadpis</h1> | |
| <p>odstavec textu</p> | |
| <span>"vyznačenie" textu</span> | |
| <div>blok</div> | |
| <form>formulár</form> | |
| <table>tabuľka</table> | |
| <button>tlačidlo</button> |
Správajú sa ako štvoruholníkový blok. Spôsobujú zalomenie riadku.
Nezalamujú riadok
<form>, <div>, <table>, <h1>, <p>...
<a>, <b>, <i>, <span>...
<!doctype html>
<html>
<head>
<title>Titulok stránky v prehliadači</title>
<meta
name="description"
content="Popis stránky pre vyhľadávače"
>
<link rel="stylesheet" href="css/style.css">
<script src="javascript/foo.js"></script>
</head>
<body>
<h1>Hlavný nadpis</h1>
<img src="images/main.jpg">
<p>Odstavec textu</p>
</body>
</html>Vytvorte nový HTML dokument so základnými informáciami o človeku:
Ku každému elementu je možné pridať jeden alebo viac atribútov, ktorých meno začína na data- a pokračovanie je ľubovoľné.
Viete si tak vytvárať úplne vlastné atribúty a odkazovať sa na ne v CSS alebo Javascripte
Pre cypress.io sa napr. odporúča pridávať vlastné data-cy-* atribúty
Cascading Style Sheets
Kaskádové štýly
Jazyk, ktorým sa popisuje výzor HTML (alebo XML) dokumentu
skupina selektorov {
zoznam deklarácií
}vlastnosť: hodnota;
vlastnosť2: hodnota;* {
color: black;
font-size: 14px;
}
h1 {
font-size: 20px;
font-weight: bold;
color: blue;
}
p {
font-style: italic;
}Zoznam deklarácií:
Pravidlá:
| univerzálny | * |
| element (tag) | div |
| triedny | .active |
| id | #main-title |
Viete aj kombinovať:
li.active { /* ... */ }
div#menu { /*... */ }
div#menu.hidden { /* ... */ }| [attribút] | [data-cy] |
| [atribút="hodnota"] | [data-cy="button"] |
| atribút~="hodnota" | [data-cy~="button"] |
<input type="submit" data-cy="button" value="Odoslať">
<input type="submit" data-cy="cv-form button" value="Odoslať">
<input type="submit" data-cy="button cv-form" value="Odoslať">
| :focus | element má fokus |
| :hover | nad elementom je myš |
| :nth-child(N) | N-tý prvok |
| a veľa ďalších |
Pridávajú sa na koniec iného selectoru
input:focus { /* Input má fokus (píše sa doň) */ }
a:hover { /* nad linkou je myš */ }
tr:nth-child(2) { /* druhý riadok tabuľky */ }
tr:nth-child(2n) { /* každý druhý riadok tabuľky */}| ::before | pred elementom |
| ::after | po elemente |
| :nth-child(N) | N-tý prvok |
| a veľa ďalších |
Pridávajú sa na koniec iného selectoru a každý má špecifické správanie
a::before { content: 'text pred'; }
a::after { content: 'text po'; }| A, B | A alebo B |
| A B | Každé B, ktoré je potomkom A |
| A > B | Každé B, ktoré je priamym potomkom A |
| A + B | Každé B, ktoré má priamo pred sebou A (A aj B majú spoločného rodiča) |
| A ~ B | Každé B, ktoré má pred sebou A (A aj B majú spoločného rodiča) |
Precvičte si selektory
Autor: Brendan Eich
JavaScript vyzerá podobne ako iné jazyky
Ale len vyzerá
Je ľahké v ňom začať
Ale je ťažšie ho pochopiť a ovládnuť
Počítač neurobí to, čo chceš.
Urobí to, čo mu povieš.
Programovací jazyk nie je ako prirodzený jazyk.
Vyjadrovať sa treba presne.
Syntax treba dodržiavať na 100%
99.9% nie je good enough.
<!doctype html>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h1>Môj prvý JS program</h1>
<div id="content"></div>
<script>
console.log('Hello World');
var element = document.querySelector('#content');
element.innerHTML = 'Hello World!';
</script>
</body>
</html>Predpísané poradie krokov, ktoré sú potrebné na splnenie úlohy.
Recept
Ale v prípade programovania super presný.
Rozloženie problému na menšie časti (a ich popísanie algoritmom)
Upečieme jahodovú tortu