Programowanie HTML MySQL C++ Pascal
21. HTML kurs podstawowy
Język znaczników, atrybuty, XML, XHTML, rodzaje znaczników, wybór edytora, struktura dokumentu, head, title, body, kodowanie, utf-8, iso-8859-2, meta, link, akapit, font, color, formatowanie tekstu, hiperłącze, bgcolor, nagłówek, linia pozioma, obraz, img, ramka, div, tabela, tabel, lista
HTML = HyperText Markup Language
HTML - czyli tzw. hipertekstowy język znaczników, który opisuje wygląd strony internetowej. Za jego pomocą można osadzić na stronie tekst, grafikę, hiperłącza, tabele, formularze itd. W składni języka HTML wykorzystuje się charakterystyczne znaczniki (tagi) opatrzone z obu stron nawiasami ostrokątnymi. Podstawowe rodzaje znaczników zestawiono poniżej.
Znacznik
otwierający,
a potem
zamykający:
<znacznik>
</znacznik>
np.:
<div>
</div> |
Pojedynczy znacznik
z zamykającym
slashem "/":
<znacznik />
np.:
<br /> |
Pojedynczy znacznik bez
domykającego slasha "/"
i z atrybutem:
<znacznik atrybut="
wartość">
np.:
<img src="obraz.jpg"> |
Extensible Markup Language = XML
XML
- to uniwersalny język formalny przeznaczony do reprezentowania różnych danych w strukturalizowany sposób - XML jest podzbiorem starszego standardu opisu dokumentu o nazwie SGML, który eliminuje jego zbyt skomplikowany charakter tam gdzie tylko można to uczynić;
- Przede wszystkim nie jest to język do tworzenia dokumentów, lecz język do tworzenia innych języków. Dopiero te języki służą do budowania dokumentów w Internecie;
- Jest niezależny od platformy, co umożliwia łatwą wymianę dokumentów pomiędzy różnymi systemami i znacząco przyczyniło się do popularności tego języka w dobie Internetu;
- XML jest standardem rekomendowanym oraz specyfikowanym przez organizację W3C (międzynarodowa organizacja mająca za zadanie ustanawianie i rozwój standardów w sieci Internet)
Przykładowy dokument XML
<?xml version="1.0" encoding="UTF-8"?>
<ksiazka-telefoniczna kategoria="bohaterowie
książek">
<!-- komentarz -->
<osoba charakter="dobry">
<imie>Ambroży</imie>
<nazwisko>Kleks</nazwisko>
<telefon>123-456-789</telefon>
</osoba>
</ksiazka-telefoniczna>
Dokument rozpoczyna się instrukcją sterującą, która zawiera informacje o wersji standardu XML, z jakim jest zgodny, oraz o sposobie kodowania znaków. Wszystkie te informacje są opcjonalne, można pomijać dowolne z nich, a nawet całą instrukcję sterującą. W razie braku którejś z danych przyjmuje się wartość domyślną, jakimi są właśnie wersja 1.0 oraz standard kodowania UTF-8.
XHTML = XML + HTML
XML, XHTML
XML
- to uniwersalny język formalny przeznaczony do reprezentowania różnych danych w strukturalizowany sposób;
- Przede wszystkim nie jest to język do tworzenia dokumentów, lecz język do tworzenia innych języków. Dopiero te języki służą do budowania dokumentów w Internecie;
- Jest niezależny od platformy, co umożliwia łatwą wymianę dokumentów pomiędzy różnymi systemami i znacząco przyczyniło się do popularności tego języka w dobie Internetu;
- XML jest standardem rekomendowanym oraz specyfikowanym przez organizację W3C (dbającą o standaryzację w sieci)
XML + HTML = XHTML
Podział znaczników ze względu na funkcję
- Znaczniki strukturalne - opisują podstawową strukturę dokumentu - np. <head>, <body>
- Znaczniki formatujące - określają wygląd poszczególnych elementów - np. <b>Bold</b>
- Znacznik definiujący obiekt - zamieszczenie w treści strony np. obrazu, napisu - np. <img>
- nacznik hipertekstowy - definiuje hiperłącze (link) do innej lokalizacji - np. <a href="strona.html">Link</a>
Kilka cennych uwag praktycznych
- Za pomocą samego tylko języka HTML możemy stworzyć statyczną stronę internetową, czyli taką stronę, która wygląda zawsze tak samo dla każdego użytkownika w sieci (nie posiadają oni własnych kont na stronie, które wpływałyby na to, co zobaczy dany user po zalogowaniu)
- Jeżeli przeglądarka internetowa z jakichś powodów nie będzie
potrafiła zinterpretować jakiegoś znacznika, zignoruje jego istnienie
- Znaczniki mogą być zapisywane dowolną wielkością liter, ale atrybuty w znacznikach powinny być zapisane małymi literami. Wraz z kolejnymi wersjami HTML daje się jednak zauważyć promowanie tendencji do zapisywania wszystkiego (także tagów) małymi literami
- Wartości atrybutów zawsze powinny być zapisane w cudzysłowach (lub apostrofach), mimo iż przeglądarki w większości przypadków poradzą sobie z ich ewentualnym brakiem
- Celem webmastera jest napisanie strony wyglądającej praktycznie identycznie w różnych przeglądarkach i systemach operacyjnych
Wybór edytora kodu HTML
- Dokument HTML to po prostu dokument tekstowy z rozszerzeniem *.htm lub *.html
- Pracuj komfortowo, oszczędzaj swój czas i wzrok - edytor HTML powinien posiadać podświetlanie składni, możliwość wyboru mało kontrastowego schematu kolorów, możliwość wyboru standardu kodowania znaków w tworzonym dokumencie
- Wybór edytora to kwestia indywidualnych preferencji. Poniżej kilka sprawdzonych i popularnych propozycji:
nonepad++ |
Geany |
gedit |
jsFiddle.net (edytuj online) |
Podstawowa struktura HTML
<html>
__
<head>
_____<title>Moja pierwsza strona!</title>
__</head>
__<body>
_____Hello world!
__</body>
</html>
Sekcja <head>
W "głowie" strony www przechowujemy przeróżne informacje o konfiguracji strony www wykonanej w HTML. To co umieścimy w sekcji <head> zazwyczaj nie będzie wyświetlane bezpośrednio na stronie, lecz w jakiś sposób określało jej konfigurację.
Najczęściej spotykane tagi w tej sekcji:
- Tytuł strony (<title>),
- Ustawienie kodowania znaków, informacje o autorze strony, języku strony (<meta>),
- Skrypty wykorzystane na stronie (<script>),
- Style użyte w dokumencie (<style>),
- Dodatkowe dokumenty powiązane ze stroną, np. arkusze stylów, skrypty w osobnych plikach (<link>)
Tytuł strony internetowej
Tytuł strony internetowej widoczny jest w zakładce przeglądarki oraz na pasku zadań:
<head>
___<title>Tytuł mojej strony</title>
</head>
Tytuł strony będzie także widoczny w rezultatach wyszukiwarki internetowej np. w Google:
Kodowanie polskich znaków
Problem sprawiają zazwyczaj polskie ogonki: ą, ś, ź. Aby znaki były kodowane poprawnie należy użyć standardu utf-8
<head>
___<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
albo iso-8859-2
<head>
___<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-2">
</head>
Pamiętaj też o ustawieniu odpowiedniego kodowania znaków w swoim edytorze HTML oraz o użyciu czcionki wspierającej dane kodowanie (zarówno w swoim edytorze jak i na stronie internetowej, np. w przypadku użycia webfontów)
Informacje w sekcji <meta>
W sekcji <meta> można także podać informację, kto jest autorem strony:
<head>
___<meta name="Author" content="Jan Kowalski">
</head>
Sekcja <meta> pozwala zdefiniować język strony (chodzi o język ludzki, nie język programowania - np: pl = polski, en = angielski, de = niemiecki, fr = francuski, it = włoski, es = hiszpański, ru = rosyjski itd.
<head>
___<meta http-equiv="Content-Language" content="pl">
</head>
Istnieją także możliwości zdefiniowania w sekcji meta m.in: daty utworzenia dokumentu, daty ostatniej modyfikacji, adresu zwrotnego autora, daty utraty ważności dokumentu, słów kluczowych dla wyszukiwarek internetowych.
Sekcja <body>
W "ciele" strony www przechowujemy informacje bezpośrednio wyświetlane na stronie. Tekst można bezpośrednio umieścić w kodzie, bez dodatkowych oznaczeń.
W samym tagu <body> można podać atrybuty opisujące np. tło strony, kolor hiperłączy (linków) czy domyślny kolor wstawionego tekstu, ale atrybuty te wycofano w HTML 4.01 (do kolorów i teł używamy współcześnie kaskadowych arkuszy styli - CSS).
<body bgcolor="#FFFFFF" link="#000000" vlink="#000000" alink="#00FF00"
background="tlo.jpg">
___[zawartość strony]
</body>
Akapit (paragraf) tekstu
Akapit stanowi blok tekstu. Następujące bezpośrednio po sobie akapity są oddzielone przerwą w tekście (pustą linią). Dzięki umieszczeniu treści w kolejnych akapitach strona stanie się dużo bardziej czytelniejsza.
<body>
__<p align="justify">
____Tekst do wyświetlenia wewnątrz akapitu. Dzięki akapitom łatwiej nam
____przyswoić dłuższe fragmenty.
__</p>
</body>
Dzięki atrybutowi align można ustalić rozmieszczenie tekstu w akapicie:
align="left"
Rezultat:
Tekst do wyświetlenia
wewnątrz akapitu. Dzięki
akapitom łatwiej nam
przyswoić dłuższe
fragmenty. |
align="center"
Rezultat:
Tekst do wyświetlenia
wewnątrz akapitu. Dzięki
akapitom łatwiej nam
przyswoić dłuższe
fragmenty. |
align="right"
Rezultat:
Tekst do wyświetlenia
wewnątrz akapitu. Dzięki
akapitom łatwiej nam
przyswoić dłuższe
fragmenty. |
align="justify"
Rezultat:
Tekst do wyświetlenia wewnątrz akapitu. Dzięki akapitom łatwiej nam przyswoić dłuższe fragmenty. |
Rodzaj czcionki, kolory
Co prawda dziś najczęściej używa się zdefiniowanych styli w arkuszu CSS, ale język HTML również umożliwia edycję kroju, rozmiaru i koloru czcionki:
<body>
__<font color="#FF0000" face="Arial,Verdana" size="3">
___Czcionka w kroju Arial (a jeśli nie będzie w systemie czcionki Arial
___to w kroju Verdana), w kolorze czerwonym i o rozmiarze nr 3
__</font>
</body>
Kolor może być zdefiniowany jest na kilka sposobów:
- szesnastkowo w postaci redgreenblue: #RRGGBB – np. #FFFFFF
- słownie: red, blue, magenta
Kolor |
Szesnastkowo |
RGB |
|
#000000 |
rgb(0,0,0) |
|
#FF0000 |
rgb(255,0,0) |
|
#00FF00 |
rgb(0,255,0) |
|
#0000FF |
rgb(0,0,255) |
Znaczniki formatowania stylu czcionki
Poniżej przedstawiono najczęściej używane znaczniki stylu czcionki:
- Pogrubienie tekstu (<b></b> albo <strong></strong>),
- Pochylenie tekstu (<i></i>),
- Podkreślenie tekstu (<u></u>),
- Styl "duży tekst" (<big></big>),
- Styl "mały tekst" (<small></small>),
- Indeks górny (<sub></sub>),
- Indeks dolny (<sup></sup>),
- Wyróżnienie (<em></em>),
- Tekst przekreślony (<del></del>),
Hiperłącze (link) do innej strony
Link do innej strony www (zazwyczaj podstrony) zdefiniujemy następująco:
<body>
<a href="podstrona.html" title="Podpowiedź po najechaniu kursorem"
target="_blank">Tekst który stanowi link</a>
</body>
Atrybut href określa adres pliku, do którego mamy trafić z aktualnego dokumentu, title zawiera podpowiedź, jaką ujrzymy po najechaniu kursorem na link, zaś ustawienie target="_blank" spowoduje otwarcie strony w nowej karcie (oknie) przeglądarki. Aby strona wczytała się w tym samym oknie (zastępując obecną stronę) należy usunąć ten atrybut.
Kolory linków można określić w sekcji body lub arkuszu CSS ("vlink" to skrót od "visited link", "alink" to skrót od "active link"):
<body bgcolor="#FFFFFF" link="#000000" vlink="#000000" alink="#00FF00"
background="tlo.jpg">
Nagłówki, przejście do nowej linii, linia pozioma, komentarze
Podobnie jak nagłówki w gazetach pozwalają sformatować tytuły akapitów w sposób czytelny i logiczny.
Oznaczamy je tagami: <h1></h1> do <h6> </h6>, np:
<h2>Tekst stanowiący nagłówek<h2>
Przejście do nowej linii (tak jakby naciśnięcie klawisza Enter):
Tekst przed "Enterem" <br /> Ten tekst już w nowej linii
Linię poziomą możemy zdefiniować następująco:
Tekst przed linią poziomą <hr /> Tekst po linii poziomej
Komentarze to informacja dla nas, programistów:
<!-- Tutaj opisuję dla siebie kod, może kiedyś tu wrócę? -->
Grafika na stronie
Pamiętaj aby odpowiednio dobrać rodzaj pliku graficznego (zwłaszcza ze względu na rozmiar pliku i stopień kompresji). Grafikę wstawiamy w następujący sposób:
<body>
<img src="obraz.jpg" width="100" height="100">
</body>
Atrybut src oznacza źródło (source) pliku, czyli tak naprawdę ścieżkę do grafiki na serwerze, width i height to szerokość i wysokość grafiki na stronie (jeśli nie będzie zgadzała się z pierwotnymi wymiarami obrazu, to zostanie on przeskalowany nawet kosztem utraty jakości lub proporcji).
Jeśli wymiary obrazu nie zostaną podane, przeglądarka założy oryginalny rozmiar grafiki (pobrany z pliku). Jeśli obraz ma służy jako hiperłącze, trzeba dodać atrybut border="0", inaczej w niektórych przeglądarkach pojawi się obramowanie sygnalizujące obecność linka:
<a href="podstrona.html" title="Podpowiedź"><img src="obraz.jpg"
border="0"></a>
Tabele
<table>
<tr>
<td> ... </td> <td> ... </td>
</tr>
<tr>
<td> ... </td> <td> ... </td>
</tr>
</table>
Wynik
row 1, cel 1 |
row 1, cel 2 |
row 2, cel 1 |
row 2, cel 2 |
- Każdy nowy wiersz tabeli definiujemy przez <tr>
- Każde nowe pole tabeli definiujemy przez <td>
- Można zdefiniować nagłówek tabeli jako <th> ale nie jest to stosowane w praktyce
Możliwe atrybuty tagu <table>:
<table border="0" width="100" height="100" cellspacing="0"
cellpadding="0">
Możliwe atrybuty tagu <td>:
<td border="0" width="100" height="100" colspan="2" bgcolor="blue"
background="tlo.jpg" align="center" valign="top">
- Atrybut colspan służy do scalania komórek tabeli
- Atrybut align określa wyrównanie w poziomie zawartości pola tabeli
- Atrybut valign określa wyrównanie w pionie zawartości pola tabeli
- W atrybutach width i height możemy użyć wartości bezwzględnych (wyrażonych w pikselach) i względnych (procentowych):
<td border="0" width="100%" height="100">
Bloki (divy)
Tag div wydziela obszar na stronie, przez co możemy nadać mu jakiś rodzaj formatowania:
<div>
...
</div>
W odróżnieniu od akapitu <p>, blok może zawierać wewnątrz siebie inne elementy niż tekst, np. obrazy. Kolejne bloki są oddzielane od siebie znakami nowej linii, ale nie są dodawane linijki przerwy (aby je dodać, należy np. zastosować znacznik <br />)
Szczegółowy wygląd bloków ustala się stosując style, zapisane w kaskadowych arkuszach styli CSS.
Listy w HTML
1. Lista wypunktowana: |
<ul type="disc">
<li>element 1</li>
<li>element 2</li>
<li>element 3</li>
</ul> |
- element 1
- element 2
- element 3
Wartości atrybutu type: disc (wypełnione kropka), circle (puste kółko), square (zamalowany kwadrat) |
2. Lista numerowana: |
<ol type="1">
<li>element 1</li>
<li>element 2</li>
<li>element 3</li>
</ol> |
1. element 1
2. element 2
3. element 3
Wartości atrybutu type określają sposób numeracji: 1 jako cyfry, A lub a jako litery duże lub małe, duża litera I lub i jako numeracja rzymska dużymi lub małymi literami |
3. Lista definicji: |
<dl>
<dt>wyrażenie 1</dt>
<dd>definicja wyrażenia 1</dd>
<dt>wyrażenie 2</dt>
<dd>definicja wyrażenia 2</dd>
</dl> |
wyrażenie 1
definicja wyrażenia 1
wyrażenie 2
definicja wyrażenia 2 |
Sposoby zagnieżdżania list: |
<ol>
<li>pozycja 1
<ul>
<li>podpozycja 1.1</li>
<li>podpozycja 1.2</li>
</ul>
</li>
</ol> |
1. pozycja 1
○ podpozycja 1.1
○ podpozycja 1.2 |
Opr. Adam Nawara |