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.sk
HTTP/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