Tworzenie stron Tworzenie stron internetowych internetowych z

Transkrypt

Tworzenie stron Tworzenie stron internetowych internetowych z
Tworzenie stron internetowych
z wykorzystaniem HTM5,
JavaScript,
JavaScript, CSS3 i jQuery
Łukasz Bartczuk
Moduł 4
HTML 5 i CSS 3.0
Agenda
• Co nowego w HTML 5?
• Nowe elementy HTML 5
• Nowe elementy w formularzach HTML
• Nowe elementy w CSS 3.0
Co nowego w HTML 5
• Czym jest HTML 5?
• Co nowego wprowadza HTML 5
Czym jest HTML 5
• Jest to nowa wersja języka HTML
• Stanowi połączenie HTML + CSS 3.0 + API JavaScript
1991
HTML 1.0
1995
HTML 2.0
1997
HTML 3.0
1997
HTML 4.0
2007
Początek
HTML 5.0
Co nowego wprowadza HTML 5
• Nowe elementy strukturalne
• Nowe elementy formularzy
• Upraszcza niektóre elementy tj. deklaracje DOCTAPE
i ustawianie strony kodowej
• Nowe elementy VIDEO i AUDIO
• Umożliwia tworzenie grafiki za pomocą CANVAS
• Przechowywanie danych po stronie klienta
• Umożliwia operacje na plikach
• Ułatwia wykorzystanie technologii Drag & Drop
• Geolokacja
Nowe elementy HTML 5
• Nowe elementy strukturalne
• Po co?
• Nowe elementy blokowe i liniowe
• Nowe elementy interaktywne
• Nowy element nawigacyjny
Nowe elementy strukturalne
HTML 5 wprowadza następujące nowe elementy
• Article
• Section
• HGroup
• Header
• Footer
• Section
• Address
• Nav
• Aside
<!DOCTYPE html>
<html>
<body>
<header>
<h1>Nagłówek</h1>
<nav><ul><li>nawigacja</li></ul></nav>
</header>
<section>
<article><p>Jakaś zawartość</p></article>
</section>
<footer><p>informacje w stopce</p></footer>
</body>
</html>
Po co?
<!DOCTYPE html>
<html>
<body>
<header>
<h1>Nagłówek</h1>
<nav>
<ul>
<li>nawigacja</li>
</ul>
</nav>
</header>
<section>
<article>
<p>Jakaś zawartość</p>
</article>
</section>
<footer>
<p>informacje w stopce</p>
</footer>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<div id="header">
<h1>Nagłówek</h1>
<div id="nav">
<ul>
<li>nawigacja</li>
</ul>
</div>
</div>
<div class="section">
<div class="article">
<p>Jakaś zawartość</p>
</div>
</div>
<div id="footer">
<p>informacje w stopce</p>
</div>
</body>
</html>
Nowe elementy blokowe i liniowe
• Nowy semantyczny element blokowy: <figure>
• Może zawierać <figcaption>
<figure>
<img src="obrazek.jpg" alt="obrazek"/>
<figcaption>Podpis</figcaption>
</figure>
• Nowe semantyczne elementy liniowe
•
•
•
•
•
<mark>
<meter>
<progress>
<output>
<time>
Nowe elementy interaktywne
Do nowych elementów interaktywnych wprowadzonych
w HTML 5.0 należą:
• <details>
• <summary>
• <menu>
• <command>
<details>
<summary>
Podsumowanie
</summary>
<p>
Zawartość
</p>
</details>
Aktualnie niewspierane
Nowy element nawigacyjny
• Znacznik <nav>
• Definiuje obszar nawigacji na stronie
• Umieszczony wewnątrz znacznika <article> określa
nawigację wewnątrz strony
• Umieszczony w innym miejscu określa nawigację pomiędzy
stronami
Nowe elementy w formularzach
• Nowe elementy w formularzach
• Nowe atrybuty
• Walidacja danych
Nowy elementy formularzy
Nowe typy znacznika <input>
Rodzaj
elementu
Wsparcie
Rodzaj
elementu
color
search
date
tel
datetime
time
datetime-local
url
email
week
month
number
range
Nowe atrybuty
Atrybut
Wsparcie
Atrybut
autocomplete (F/I)
list (I)
autofocus (I)
min/max (I)
form (I)
multiple (I)
formaction (I)
novalidate (F)
formenctype (I)
pattern (I)
formmethod (I)
placeholder (I)
formnovalidate (I)
required (I)
formtarget (I)
step (I)
height/width (I)
Nowe atrybuty
Atrybut
Wsparcie
Atrybut
autocomplete (F/I)
list (I)
autofocus (I)
min/max (I)
form (I)
multiple (I)
formaction (I)
novalidate (F)
formenctype (I)
pattern (I)
formmethod (I)
placeholder (I)
formnovalidate (I)
required (I)
formtarget (I)
step (I)
height/width (I)
Walidacja danych
HTML 5 pozwala na walidację danych wprowadzonych do formularzy.
<input type="text" pattern="\d\d-\d\d\d" />
<input type="text" required />
<input type="number" min="10" max="20" />
Co nowego w CSS 3.0
• Nowe selektory
• Nowe właściwości tła i ramek
• Transformacje
• Animacje
• Efekty tekstowe
• Media
• Układ strony
Nowe selektory
• Selektory atrybutów: rozpoczyna się na…, kończy się na…,
zawiera …
• Strukturalne pseudo-klasy: :nth-child, :first-child, :first-of-type,
:enabled, :disabled
• Negacja :not(selektor)
a[href^="www."],
tr:nth-child(even) { color:red; }
p > :not(span:last-child) { color:red; }
Nowe właściwości tła i ramek
• Nowe właściwości tła:
• background-size
• background-origin
• background-clip
• Wsparcie dla wielu obrazów tła
• Tła gradientowe
• Nowe właściwości ramek
• border-radius
• border-image
Transformacje
• CSS3 pozwala na transformacje elementów zarówno 2D,
jak i 3D
• Dwuwymiarowe transformacje pozwalają na obracanie,
rozciąganie, skalowanie
Animacje
• CSS3 pozwala tworzyć proste animacje
• Wykorzystuje się do tego reguły @keyframe i właściwość
animation
@keyframes animacja
{
0%
{ left: 0px; }
25% { left: 25px; background: blue; }
50% { left: 50px; background: red; }
75% { left: 75px; background: blue; }
100% { left: 100px; }
}
div
{
animation: animacja 5s linear 3s
infinite alternate ;
}
Efekty tekstowe
• Możliwość wprowadzania cienia dla tekstu: text-shadow
• Możliwość ściągania czcionek @font-face
h1
{
text-shadow: 3px 8px 4px #0000ff;
{
@font-face
}
font-family: czcionka;
src: url('czcionka.woff');
}
Media
• Pozwala na tworzenie styli na różnego rodzaju urządzenia
• Podaje się nazwę rodzaju urządzenia i warunki jakie musi
spełniać
• Jeżeli te warunki są spełnione style ma zastosowanie
div
{
border: solid 1px black;
}
@media screen and (min-width:400px)
{
div
{
border: none;
}
}
Układ strony
• Pozwala na tworzenie układu wielokolumnowego
div
{
width: 100px;
column-width: 45px;
column-count: 3;
column-gap: 1em;
}