Magazyn T3
newsy, felietony, testy i tutoriale



Internet Maker

19/07/2010

Tworzymy stronę w HTML5

Więcej artykułów autorstwa »
Napisane przez: Marcin Kosedowski
Tagi:
86-tworzymy_strone_w_html5.png

Nowe elementy HTML-a 5 mogą wywołać taką rewolucję jak rezygnacja z ramek i tabel. Pokazujemy jak zacząć.

Wchodzący obecnie do użycia, choć jeszcze nieustandaryzowany, HTML5 niesie ze sobą wiele usprawnień, które mają przenieść nieco przestarzały język w XXI wiek. Jednym z nich jest dodatnie nowych elementów: section, article, header, footer, nav i aside, które mówią jaką funkcję pełni fragment strony.

Zaczynamy od szkieletu

Uproszczono również szkielet dokumentu. Deklaracja typu to tylko {html}{/html}. Nie musimy podawać przestrzeni nazw języka (dotychczasowy atrybut xmlns w elemencie html). Kodowanie możemy ustalić m.in. za pomocą prostszego niż dotychczas znacznika {html}{/html} zamiast {html}{/html}, chociaż stary sposób ma być obsługiwany. Prosty dokument wyglądałby więc następująco:

1
2
3
4
5
6
7
8
9
10
<!doctype html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Hello, HTML5!</title>
  </head>
  <body>
    <p>Pchnąć w tę łódź jeża lub ośm skrzyń fig.</p>
  </body>
</html>

Co się zmieniło w HTML5?

Poza tymi uproszczeniami wprowadzono wiele nowych elementów. Są to m.in. tagi opisujące strukturę dokumentu: pokazują czy tekst jest tylko wstępem czy całym artykułem, co jest stopką, a co nawigacją itd. Dla zwykłego czytelnika elementy te nic nie znaczą, ale roboty internetowe będą Miały ułatwione zadanie, kiedy wreszcie uda się usystematyzować przechowywane w sieci informacje. Pamiętajmy, że standard będzie obowiązywał przez całe lata!

W HTML5 zostanie usuniętych wiele elementów, głównie takich, które określają warstwę prezentacji, a nie znaczenia treści. Dodane elementy mówią jaką funkcję pełni element.

Usunięte elementy: acronym, applet, basefont, big, center, dir, font, frame, frameset, noframe, s, strike, tt, u, xmp.

Dodane elementy: article, aside, audio, canvas, command, datalist, details, embeded, figcaption, figure, footer, header, hgroup, keygen, mark, meter, nav, aoutput, progress, rp, rt, ruby, section, source, summary, time, video.

Uwaga! Standard jest w fazie przygotowania, więc podane informacje mogą się zmienić. Aktualne dane: http://www.w3.org/TR/html5-diff/.

Uzupełniamy stronę

My zajmiemy się na razie schematem witryny, a elementy opisujące różne rodzaje treści (video, elementy osadzone, pola formularzy itd.) opiszemy w kolejnych artykułach. Standardowo na początku strony umieszcza się logo, hasło firmy itp. W HTML5 oznaczamy je tagiem header. Header może zawierać m.in. nawigację, którą oznaczymy jako nav. W parze z nagłówkiem idzie stopka. Opisujący ją element to footer.

Kolejny nowy tag, article, reprezentuje niezależną część dokumentu. Jak sama nazwa mówi, może to być artykuł lub np. wpis na blogu. Elementy o podobnym przeznaczeniu powinniśmy otoczyć tagiem section, który może mieć swój nagłówek i stopkę. Informacje poboczne, niezwiązane bezpośrednio z treścią dokumentu (np. boczna kolumna) powinniśmy umieścić w tagu aside. Dzięki temu urządzenia mobilne będą mogły autoamtycznie przenieść ten mało ważny fragment na koniec.

Gotowy schemat strony w HTML5 umieściliśmy w poniższym listingu.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<!doctype html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Hello, HTML5!</title>
    <style>
      article, aside, footer, header, nav, section {
         display: block;
         -moz-border-radius: 0.5em;
         -webkit-border-radius: 0.5em;
         border: 0.125em solid #888;
         margin:0.5em;
         padding: 0.5em;
      }
 
      section#tresc {
         width: 60%;
         float: left;
      }
 
      aside { margin-left: 65%  }
 
      footer { clear:both }
 
      /* kolory */
      section { background-color:#ffa; }
      aside { background-color:#aff; }
      header { background-color:#faf; }
      footer { background-color:#faa; }
      nav { background-color:#afa; }
      article { background-color: #aaf}
 
 
    </style>
  </head>
  <body>
    <header>
      <nav>
         <p>nawigacja główna</p>
      </nav>
    </header>
    <section id="tresc">
      <article>
      <header>Nagłówek artykułu</header>
      <p>Pchnąć w tę łódź jeża lub ośm skrzyń fig.</p>
      <p>Pchnąć w tę łódź jeża lub ośm skrzyń fig.</p>
      <footer>stopka artykułu</footer>
      </article>
 
      <article>
      <header>Nagłówek artykułu</header>
      <p>Pchnąć w tę łódź jeża lub ośm skrzyń fig.</p>
      <p>Pchnąć w tę łódź jeża lub ośm skrzyń fig.</p>
      <footer>stopka artykułu</footer>
      </article>
 
      <article>
      <header>Nagłówek artykułu</header>
      <p>Pchnąć w tę łódź jeża lub ośm skrzyń fig.</p>
      <p>Pchnąć w tę łódź jeża lub ośm skrzyń fig.</p>
      <footer>stopka artykułu</footer>
      </article>
 
    </section>
 
    <aside>
      <p>panel boczny</p>
      <nav>
         <p>nawigacja boczna</p>
      </nav>
    </aside>
 
    <footer>stopka</footer>
 
  </body>
</html>

Zmieniamy wygląd nowych elementów

Opisywane elementy nie wpływają na wygląd, ale mogą zastąpić kontenery ({html}

{/html}), które nic nie mówią o zawartości. W najbliższym czasie możemy więc spodziewać się przejścia z divów na elementy semantyczne. Będzie to analogiczna sytuacja jak przejście z ramek (obecnie usuwanych ze standardu) na tabele, a następnie z tabel na divy. Aby w pełni zastąpić kontenery ich semantycznymi odpowiednikami, w arkuszu stylów należy ustalić, żeby wyświetlały się jako elementy blokowe.

1
2
3
article, aside, footer, header, nav, section {
  display: block;
}

Podsumowując, nowe tagi opisujące treść będą taką rewolucją jak przejście z tabel na kontenery i prawdopodobnie wywołają podobną burzę. Należy tylko pamiętać, że standard wejdzie w życie dopiero za kilka lat, a obecnie przeglądarki nie muszą obsługiwać HTML-a 5.

Może Cię zainteresować:

  1. Tworzymy stronę z blogiem cz. 1
  2. Tworzymy stronę z blogiem cz. 2
  3. Tworzymy stronę w Photoshopie


O autorze

Marcin Kosedowski
Freelancer związa­ny z mediami od 2007 roku. Opublikował do tej pory ­ponad 500 artykułów m.in. dla Magazynu T3, Gazety Wyborczej, Onetu czy Nexta. Jako bloger pomaga przy projektowa­niu i wdroże­niach serwisów internetowych. Jest prezesem zarządu Stowarzyszenia FreelanCity.org.




0 komentarzy


Skomentuj pierwszy!


Zostaw odpowiedź

Twój adres nie zostanie opublikowany. Wymagane pola są oznaczone *

*

Możesz używać tych tagów i atrybutów HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">