&

Pracuję z

Pracuję w

ZROZUMIEĆ INTERNET

SŁOWNICZEK POJĘĆ

HTML

CSS

JavaScript

PHP

Web Master

Doctype

Web Developer

Download

Front-end

Serwer WWW

Upload

Baza danych

WWW

W3C

Front-end

Back-end

FTP

JAK DZIAŁA INTERNET

Czyli wprowadzenie do świata Web Developerów

W ŚWIECIE WEBDEVELOPMENTU

CZYLI GDZIE SIĘ OBECNIE ZNAJDUJEMY I DOKĄD ZMIERZAMY

Front-end Developer

Back-end Developer

Kilka egzystencjalnych pytań...

...czyli wprowadzenie do HTML'a.

TROCHĘ HISTORII

1991 - HTML

1994 - HTML 2

1996 - CSS 1

1997 - HTML 4

1998 - CSS 2

2000 - XHTML 1

2009 - HTML 5 i CSS 3

PODSTAWOWA SKŁADNIA DOKUMENTU HTML

<!Doctype html>

<html>
    <head>
        <title>To jest tytuł strony</title>
    </head>
    <body>
        ...
    </body>
</html>

Doctype'owy zawrót głowy

HTML 4.01 Strict

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

HTML 4.01 Transitional

HTML 4.01 Frameset

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

Doctype'owy zawrót głowy

XHTML 1.0 Strict

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

XHTML 1.0 Transitional

XHTML 1.0 Frameset

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

XHTML 1.1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Doctype'owy zawrót głowy

HTML 5

<!DOCTYPE html>

<TAGI> </TAGI>

BUDOWA TAGÓW

<div>...</div>

<h1>Tytuł artykułu</h1>

<meta>

<hr>

<img>

<input>

Tagi domykane

Tagi samo-domykające

TAGI PODSTAWOWE

+ TAGI SPECJALNE

GRUPY TAGÓW

ELEMENTY BLOKOWE

1. Zajmują całą szerokość swojego rodzica

2. Możemy stosować właściwości modelu blokowego

3. W elementach blokowych możemy umieszczać zarówno elementy blokowe jak i liniowe

ELEMENTY LINIOWE

1. zajmują tylko przestrzeń, którą obejmują

2. nie możemy stosować właściwości modelu blokowego

3. W elementach liniowych możemy umieszczać tylko elementy liniowe

ELEMENTY LINIOWE-BLOKOWE

1. Zajmują tylko przestrzeń, którą obejmują (cecha elementów liniowych)

2. Możemy stosować właściwości modelu blokowego (cecha elementów blokowych)

3. Umieszczając elementy w elementach liniowo-blokowych należy wziąć pod uwagę domyślny typ elementu i według tego typu postępować

TAGI I ICH ATRYBUTY

<div id="header" class="custom-header">...</div>

<meta name="viewport" content="initial-scale=1">

<hr>

<img src="img/obrazek.jpg" alt="Obrazek">

Tagi domykane

Tagi samo-zamykające

Atrybuty podstawowe

Atrybuty specjalne

CZYLI JAK PRZYGOTOWAĆ STRONĘ DO POZYCJONOWANIA

HTML5 + SEO

1. Ustawienie znaczników meta: title oraz description

2. Użycie tagów semantycznych dostępnych w HTML5

3. Odpowiednie dopasowanie nagłówków

3 RZECZY O KTÓRYCH WARTO PAMIĘTAĆ

TAGI META: TITLE I DESCRIPTION

<section>

Reprezentuje ogólnie dokument lub jakąś sekcję tematyczną na stronie.

Tag posiada znaczenie semantyczne!

Warto użyć dla listy artykułów, postów, produktów. Ten tag może zostać użyty wewnątrz dowolnego tagu blokowego.

Definicja

Do czego się go używa?

Użycie w praktyce

Grupowanie powiązanych tematycznie treści.

Może być wykorzystywany wielokrotnie na stronie.

<article>

Reprezentuje kompletną, autonomiczną treść na stronie, która może być prezentowana oddzielnie, w oderwaniu od reszty strony i nie traci swojego sensu.

Treść artykułu, postu, karta produktu, komentarz, opinia.

Definicja

Do czego się go używa?

Użycie w praktyce

Może być wykorzystywany wielokrotnie na stronie.

Zagregowanie informacji o jakimś bycie.

Tag posiada znaczenie semantyczne!

<header>

Służy do grupowania elementów wprowadzających lub nawigacyjnych np. w sekcji czy artykule.

Tytuł artykułu wraz z miniaturką, informacjami o autorze, dacie publikacji.

Nazwa produktu wraz z miniaturką.

Definicja

Użycie w praktyce

Może być wykorzystywany wielokrotnie na stronie.

Tag posiada znaczenie semantyczne!

<footer>

Służy do grupowania elementów, które mogłyby się znaleźć w stopce sekcji czy artykułu.

Tagi przypisane do artykułu, widgety społecznościowe.

Definicja

Użycie w praktyce

Może być wykorzystywany wielokrotnie na stronie.

Tag posiada znaczenie semantyczne!

<aside>

Reprezentuje treść powiązaną z sekcją, w której <aside> się znajduje, ale treść ta nie jest kluczowa dla zrozumienia treści tej sekcji.

Definicja

Użycie w praktyce

Może być wykorzystywany wielokrotnie na stronie.

Tag posiada znaczenie semantyczne!

Użyty wewnątrz tagu <article> powinien zawierać treść bezpośrednio związaną z treścią np. słownik lub spis treści.

Użyty poza <article> treść powinna być związana ze stroną np. dodatkowa nawigacja, kategorie na blogu czy też reklamy jeżeli są kontektowe.

<nav>

Reprezentuje sekcję na stronie, w której znajdują się linki do podstron lub innych stron. W skrócie - główna nawigacja serwisu.

Definicja

Użycie w praktyce

Może być wykorzystywany TYLKO RAZ na stronie.

Tag posiada znaczenie semantyczne!

Główna nawigacja strony.

<main>

Reprezentuje sekcję na stronie, w której znajduje się główna treść.

Definicja

Powinien być wykorzystany TYLKO RAZ na stronie.

Tag posiada znaczenie semantyczne!

<figure>

Reprezentuje pewien wycinek treści (np. artykułu), który jest autonomiczny, a dodatkowo usunięcie tego elementu nie wpłynie na odbiór reszty treści, którą wzbogaca.

Definicja

Może być wykorzystywany wielokrotnie.

Tag posiada znaczenie semantyczne!

Może posiadać podpis/legendę dodaną za pomocą tagu: <figcaption>.

Użycie w praktyce

Element opakowujący obrazek, tabelkę, diagram wraz z podpisem lub legendą w treści artykułu lub posta.

SEMANTYKA W HTML

SEMANTYKA W HTML

STARE TAGI NOWE ZNACZENIE

DOCUMENT OUTLINE

DOCUMENT OUTLINE

Co to nam daje?

CSS

SKŁADNIA CSS

p{
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

.category-menu{
    width: 250px;
    height: 300px;
    float: left;
}

#main-nav{
    height: 30px;
}

CSS + HTML

Sposoby umieszczania w dokumentach HTML

RESET VS NORMALIZACJA

SELEKTORY CSS

SELEKTORY #1

/* Wszystkie paragrafi */
p {...}

/* Wszystkie elementy z klasą "menu-item" */
.menu-item {...} 

/* Element o id "main-nav" */
#man-nav {...}

/* Wszystkie elementy z atrybutem href */
[href] {...}

/* Wszystkie elementy z atrybutem rel ustawionym na nofollow */
[rel="nofollow"] {...}

/* Wszystkie elementy z atrybutem href, który zaczyna się od "file" */
[href^="file"] {...}

/* Wszystkie elementy z atrybutem href, który kończy się na ".pdf" */
[href$=".pdf"] {...}

/* Wszystkie elementy z atrybutem href, w którym znajduje się ciąg "smile" */
[href*="smile"] {...}

SELEKTORY #2

/* Wszystkie tagi em strong i element z klasą hl */
em, strong, .hl {...}

/* Wszystkie paragrafy znajdujące się w elementach z klasą .section */
.section p {...}

/* Wszystkie tagi li będące bezposrednim potomkiem elementu z klasą "main-menu" */
.main-menu > li {...}

/* Wszystkie tagi a, które znajdują się w elementach li 
będących bezposrednimi potomkami elementu z klasą "main-menu" */
.main-menu > li a {...}

SELEKTORY #3

/* Wszystkie tagi strong posiadające klasę "hl" */
strong.hl {...}

/* Tag ul posiadający identyfikator "main-nav" */
ul#main-nav {...}

/* Tag ul posiadający identyfikator "main-nav" i klasę "custom-style" */
ul#main-nav.custom-style {...}

/* Tag ul posiadający identyfikator "main-nav" i klasy "custom-style" oraz "big" */
ul#main-nav.custom-style.big {...}

/* Wszystkie tagi "a", których wartosć atrybutu href kończy się na ".pdf" */
a[href$=".pdf"] {...}

PSEUDO SELEKTORY

/* Wszystkie elementy a, na któych znajduje się kursor myszki */
a:hover {...}

/* Wszystkie odwiedzone linki */
a:visited {...}

/* Wszystkie tagi <li>, które są pierwszymi potomkami */
li:first-child {...}

/* Wszystkie tagi <p>, które są ostatnimi potomkami */
p:last-child {...}

/* Każdy co drugi (przysty) paragraf w swoim rodzicu */
p:nth-child(2n) {...}

/* Każdy nieprzysty paragraf w swoim rodzicu */
tr:nth-child(odd) {...}

/* Każdy przysty paragraf w swoim rodzicu */
td:nth-child(even) {...}

/* Każdy tag <p>, który nie posiada klasy "hl" */
p:not(.hl) {...}

SIŁA SELEKTORÓW

|atrybut style|   |id|   |klasa/pseudo-klasa/atrybut|    |element/pseudo-element|
<ul id="main-nav" class="custom-styles">
    <li></li>
</ul>
ul{
    font-size: 10px;
}

.custom-styles{
    font-size: 11px;
}

ul.custom-styles{
    font-size: 44px;
}

#main-nav{
    font-size: 6px;
}

ul#main-nav{
    font-size: 22px;
}

ul#main-nav.custom-styles{
    font-size: 12px;
}

Szkolenie HTML5 i CSS3

By Maciej Żukiewicz

Szkolenie HTML5 i CSS3

  • 314