Tamás Ferenc: HTML-tanfolyam

22.9.) Frame-ek

TFeri.hu logo A HTML-oldalak egyik leghasznosabb része a keretek (angolul: FRAME-ek) használata. Ezt a szomszédos dokumentum is bizonyítja. (minta26.html) A felépítése gyakorlatilag igen egyszerű, mivel a két keret külön-külön is felhasználható és minden hivatkozhat mindenre. Amint ez a forráskódban is látható, a kereteket két tag: a <FRAMESET> és a <FRAME>. Természetesen a <FRAMESET>-ben százalékosan, illetve pixelesen is megadható a keretek aránya. Szükség esetén több keret is egymásba ágyazható. A vízszintes felosztáshoz a "rows" szócskát kell használni, míg a függőleges felosztáshoz a "cols" szükséges.  <HTML>
<FRAMESET rows="50%,50%">
<FRAME SRC="fel1.html">
<FRAME SRC="fel2.html">
</FRAMESET>
</HTML>
<HTML>
<FRAMESET COLS="100,*">
<FRAME SRC="fel1.html">
<FRAME SRC="fel2.html">
<NOFRAMES>
<BODY>
Hát ez nem nyert!
</BODY>
</NOFRAMES>
</FRAMESET>
</HTML>
Ha valaki szeretne felkészülni ilyen igényekre is, akkor kénytelen elkészíteni a keretek nélküli verziót is - sajnos. 
Még valami: ha nem feltétlenül kell, akkor ne adjuk meg minden frame vastagságát - főként pixeles értéknél tilos ezt tenni! Ilyenkor érdemes a bal oldali példa 2. sorában látható csillagot (*) használni, ami a jó öreg DOS-os hagyományok szerint a maradék részt jelenti, azaz a mindent.

Összegezve:

A "_self" paraméter esetén a megfelelő frame helyébe töltődik az oldal.
A "_parent" paraméter esetén a megfelelő frame fölé töltődik az oldal.
A "_top" esetén legfölülre.
A "_blank" paraméter esetén egy vadonatúj böngésző ablakába.
Az "ablakneve" paraméter használata esetén a megadott nevű keretben nyílik meg a hivatkozás.
A "_search" paraméternél a link a böngésző kereső-paneljába töltődik be. Minimum Explorer 5-nél használható.
A "_media" esetén a link a böngésző MediaBar nevű részébe (magyarul: multimédia panel) töltődik be. Minimum Explorer 6-nál használható.
7. feladat: Készítsen egy ilyen kétoldalon elhelyezkedő keretrendszert. Minta: fel7.html.

22.10.) Egyéb formázások

22.10.a.) Szövegek dekorálása

Természetesen egyéb formázási lehetőségeink is lehetnek. Az alábbi néhány sor csak pár lehetőséget mutat be:
<ADDRESS>
Postacímet jelöl ki.

</ADDRESS>
<BLINK> Ez itt villog, de csak Netscape-ben! </BLINK>
<BIG> Nagyobb karakterméret </BIG>
<BLOCKQUOTE>
Szövegblokk - érdemes kipróbálni!
</BLOCKQUOTE>
<CITE> Idézet - ritkán használható</CITE>
<CODE> Programkód - a más betűstílus miatt érdemes használni</CODE>
<COMMENT> Kommentálás - semmi hatással nincs a dokumentumra. Nem íródik ki </COMMENT>
<DFN>Definált szöveg </DFN>
<EM> Kiemelés - ritkán használt</EM>
<KBD> Billentyűzetről begépelhető input írógép stílussal </KBD>
<S> Keresztülhúzott szöveg</s>
<SAMP> Irodalmi szövegrészlet, illetve mintakarakter </SAMP>
<SMALL> Kisebb betűméret </SMALL>
<STRONG> Vastagított megjelenés </STRONG>
<SUB> Alsó index </SUB>
<SUP> Felső index </SUP>
<VAR> Változónevet jelöl ki </VAR>
<TT> Írógépkarakterek</TT>

22.10.b.) Marquee

Érdekes, de sajnos csak az Explorerben megjelenő lehetőség a szövegek feliratszerű mozgatása a <MARQUEE> és a </MARQUEE> között.
Általában akkor lehet látványos az effektus, ha az ablak nagyobb részében látható lesz a mozgás, mint a lenti példában: (minta28.html)
<HTML>
<Marquee behavior=alternate bgcolor="teal" dataformatas=text loop=3 width="75%" title="dumálás">
Ez a duma!
</marquee>
</HTML>
Pár paraméter:
BEHAVIOR =alternate/scroll/slide - mozgásirány = balra-jobbra/átlapozás (scroll) a direction által meghatározott irányba/a szöveg levágása az előző mintájára
BGCOLOR = háttérszín kódja vagy neve
DATAFORMATAS = text/html - adatformátum - sima szöveg/html
DIR = ltr/rtl - szöveg olvasási irányának meghatározása; ltr=balról jobbra (alapértelmezés); rtl = jobbról balra
DIRECTION = left/right/up/down - scrollozás iránya - bal/jobb/fel/le; Alapértelmezés: left
HEIGHT = "n" - Hány %-ot, vagy képpontot foglalhat el a HTML-tag a képből.
HSPACE = "n" - Mekkora legyen a HTML-tag mellett a szabad hely vízszintesen?
VSPACE = "n" - Mekkora legyen a HTML-tag mellett a hely függőlegesen?
LOOP = "n" - Hány ismétlés után álljon le a mozgatás. (Végtelen = -1)
SCROLLAMOUNT = "n" - Hány pixel elcsúszással rajzoljon ismét a MARQUEE.
SCROLLDELAY = "n" - Hány millimásodperc után rajzolja újra a HTML-taget.
TITLE = "cím" - Mi jelenjen meg, ha az egeret fölé visszük?
WIDTH = "n" - Az ablak hány százalékában jelenjen meg a MARQUEE.
8. feladat: Készítsen egy jobbról balra 4-szer elhaladó pár szavas szöveget, amely az aktuális ablak 65%-át foglalja el, de az egész alakzat középre legyen igazítva és sárga háttere legyen. (Minta: fel8.html)
9. feladat: Ugyanezekkel a paraméterekkel készítsen egy újabb objektumot, melyben egy weblap linkje göndül tova. (Minta: fel9.html)

22.10.c.) Basefont

Fontos karakterformázási lehetőséget tartalmaz a <BASEFONT> tag, mely egy dokumentum alapvető karakterkészletét tartalmazhatja, amelyhez képest a többi karakter hogyan nézzen ki. Lehetséges paraméterei - főleg az Explorerben: COLOR (szín) és FACE (karakterkészlet neve). A főbb böngészők ismerik a SIZE (méret) paramétert. További segítséget jelenthet a következő file (minta29.html):
<HTML>
<basefont color="blue" face="Arial, Courier" size="4">
Ez lesz az alapértelmezés!
</basefont>
</HTML>

22.10.d.) BGSound

Csak az Explorer által használt lehetőség a <BGSOUND> (háttérhang). Itt hangkártyával rendelkező gép segítségével lejátszathatjuk az oldalhoz rendelt háttérhangot. Választható kiterjesztések: WAV, AU, MID és CD. Kötelező paraméter a forrás megjelölése (SRC). Lehetséges paraméter az ismétlések számát szabályozó LOOP=n, melyben n egy sorszám. Abban az esetben, ha n = -1, akkor végtelenszer ismétlődik a háttérhang. Érdekes lehetőség a BALANCE=n paraméter, ahol n -10000 és +10000 közötti érték. Ez határozza meg a bal és jobb oldali hangszórók közti hangosság értékét. Alapértelmezés: 0. (Egyenlő hangosság.) További hasonló paraméter a VOLUME=n, ami neve alapján sejthetően a hangerőért felelős. n értéke -10000 és 0 között lehet, ahol 0 a legnagyobb hangerő.

22.11.) BODY és META

Az eddigi képnél kicsit bonyolultabb, árnyaltabb fogalmazás szükséges a teljes értékű HTML lapokhoz. Ezentúl a dokumentum sablonjához a következőt ajánlom: (minta30.html)
<HTML>
<HEAD>
<TITLE>Ez a cim</TITLE>
<META name="description" content="Lap leirása">
<META name="keywords" content="Kulcsszavak">
<META name="generator" content="Mivel lett csinálva">
<META name="author" content="Szerző neve">
<META name="robot" content="index,follow">
<META http-equiv="Expires" content="Mon, 27 Nov 2000 14:25:27 GMT">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080">
Na, és csak itt jön a lényeg!
</BODY>
</HTML>
Látható, hogy maga a <HTML>-tartomány két részre oszlik. Van egyrészt egy fejléc<HEAD> és </HEAD> között, valamint egy szövegtörzs a <BODY> és a </BODY> között. Eddig csak ez utóbbi került sorra. A fejléc megléte nem kötelező, de sokat tud segíteni a következő elemekkel:
<TITLE> A Dokumentum címe </TITLE>
<META> kezdetű elemeknek nincsen zárórésze és nem is jelennek meg, de annál hasznosabbak! Használata kizárólag a fejlécben engedélyezett. Főbb paraméterei már a bal oldali kódban is láthatóak. Szokások:
- Description: pár szavas leirás - őszintén!
- Keywords: A lapra jellemző kulcsszavak a keresőrobotoknak.
- Generator: Milyen programmal lett a lap elkészítve. (Pl. Jegyzettömb)
- Author: A szerző neve, esetleg E-mail címe!
- Robots: Parancsok a keresőrobotok számára. Lehetséges értékek: "index/noindex" indexelhető vagy nem; "follow/nofollow" követhetők a hivatkozások vagy nem. Mivel úgyis mindkettőt használni kell, ezért célszerű helyettük írni a "deny" szót (tilos mindkettőt), illetve az "all" szót, amely mindkét tevékenységet engedi.
- Expires: Lejárat ideje. Ha pl. csak minden hónap elsején frissíti a lapját, akkor érdemes a mindig következő frissítési dátumot beírni. Így közvetlenül a Proxy-kből is le tud töltődni a lap. Ha mindig a legfrissebb tartalmat akarja láttatni, akkor időpont helyett egyszerűen a "NOW" (=most) szót kell beírnia.
Valamennyi <META name=...> kezdetű tagben használható a lang="en", vagy a lang="hu" paraméter, ami a nyelvet jelöli. Indexelni például nem bűn angolul akkor is, ha a lap kizárólag magyar!
- A HTTP-EQUIV egy már lehetőséget rejt. Ugyanis itt megadhatjuk a böngészőnek, hogy az adott dokumentum mikor veszti érvényét. Így ha a böngésző újabb parancsot kap a dokumentum letöltésére, akkor ha a cache-ben eltárolt határidő előtt van még a weblap, akkor nem bajmolódik a letöltéssel, hanem beolvassa magából a gépből és már készen is van. Célszerű egy weblapnál nem túl távoli időpontot megadni!
- A másik sor (<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">) pedig a magyar karakterkészlet használtára keszíti elő a gépet.
- Lehetőség nyílik arra is, hogy egy dokumentumot állandóan frissítsünk. A <META HTTP-EQUIV="REFRESH" CONTENT=2> használata például 2 másodpercenként frissít egy weblapot! (Tőzsdei árfolyamoknál még jól jöhet.)
- Több értelme lehet egy másik webhely automatikus betöltésének. A <META HTTP-EQUIV="REFRESH" CONTENT="5; URL=http://poszter.ini.hu/"> tag például az URL-ben megadott webhelyet hozza be 5 másodperc elteltével!
- Szintén érdemes használni a <META HTTP-EQUIV="Reply-to" content="hivatalos@tferi.hu"> taget is, ami a lehetséges válaszcímet adja meg.
Egy másik fontos elem a <BODY> és a </BODY> közé ékelt szövegtörzs nyitóeleme. Rengeteg lehetőséget tartalmaz és igen sokféleképpen lehet alkalmazni. Lehetséges paraméterei közül csak a lényegesebbek kerülnek itt felsorolásra:
- BGCOLOR="színkód" - background color; A háttérszín neve vagy kódja.
- ALINK="színkód" - active link; Az éppen aktív link(ek) színkódja vagy neve.
- VLINK="színkód" - visited link; A már meglátogatott linkek színkódja vagy neve.
- LINK= "színkód" - link's color. A még meg nem látogatott linkek színkódja vagy neve.
- TEXT="színkód" - text color; A sima (linkek nélküli) szöveg színkódja vagy neve.
- BACKGROUND="url" - Háttérkép neve (esetleges útvonallal).
- BGPROPERTIES=FIXED - Vízjel megadása. Ez így nem gördíthető!
- TITLE="szöveg" - Ez a szöveg lesz kiírva az egérmutató fölé (mintegy segítségként), ha az ablak fölé ér.
- NOWRAP="TRUE" - Szöveg nem törhető meg automatikusan. Alapértelmezés: NOWRAP="FALSE".
- SCROLL="NO" - Eltünteti az oldalsó scrollozó-csíkot. Alapértelmezés: SCROLL="YES". Lehetséges érték még: "AUTO" (automatikus).
- BOTTOMMARGIN=n - Alsó margó pixelben. Felülbírálja az alapértelmezést. Csak egész szám lehet. Alapértéke: 15. Minimum: 0.
- TOPMARGIN=n - Felső margó pixelben. Felülbírálja az alapértelmezést. Csak egész szám lehet. Alapértéke: 15. Minimum: 0.
- LEFTMARGIN=n - Bal oldali margó pixelben. Felülbírálja az alapértelmezést. Csak egész szám lehet. Alapértéke: 10. Minimum: 0.
- RIGHTMARGIN=n - Jobb oldali margó pixelben. Felülbírálja az alapértelmezést. Csak egész szám lehet. Alapértéke: 10. Minimum: 0.
További elemek is lehetnek a weblap fejlécében:

22.12.) Térképek

Ha egy bonyolultabb képünk van rengeteg utalással és felirattal és/vagy rajzzal, akkor célszerű egy olyan rendszert kialakítani, amelynél egyes részekre kattintva nyitódhat meg egy újabb kapcsolat. Mintaképpen nézzük meg a következő képet és file-t: (minta31.html)
map.gif <HTML>
<IMG src="map.gif" usemap="minta31.html#terkep1">
<MAP name="terkep1">
 <area shape="rect" coords="25,12,114,32" href="minta1.html">
 <area shape="rect" coords="25,33,114,47" href="minta2.html">
 <area shape="rect" coords="25,48,119,70" href="minta3.html">
 <area shape="rect" coords="25,71,119,88" href="minta4.html">
 <area shape="circle" coords="200,212,50" href="minta5.html">
 <area shape="poly" coords="20,200,20,250,80,250,140,200,20,200" href="mailto:ferenctamas@freemail.hu">
</MAP>
</HTML>
(Megjegyzés: a fenti kép a PhotoShop 5.0 és a CorelDraw 9 programokkal készült!)
A dolog lényege, hogy a térképnek és a feldolgozott utalásoknak nem kell azonos file-ban lennie, de lassabb kapcsolatú gépek miatt célszerű azonos file-ba tenni a két anyagot. Az első fontos utasítás az IMG SRC-ben lévő USEMAP paraméter. Itt meg kell adni a térképfeldolgozó file, valamint a térkép helyét.
A térkép feldolgozásához kell a <MAP name="térképneve"> tag. A konkrét élőkapcsokat az <area> tag szabályozza. Paraméterei:
- shape = rect (téglalap), circle (kör), poly(polygon), default (mindenhol máshol - egyéb helyen)
- coords = koordináták. Téglalap esetén két átellenes saroké, kör esetén a középpont és a sugár, poligon esetén sorban a sarkok (az utolsó legyen azonos az elsővel!).
- href = élőkapocs. Teljes utalás is lehet, nem csak egyszerű file.
- alt = alternatív szöveg.
- target = Megnyitandó file helye (pl.) megosztás esetén.
- title = az egérmutató hatására kiírandó szöveg.
- nohref = ennek a területnek nincsen élőkapcsa.
Minták: Kapcsolatok (4. fejezet).

10. feladat: Nem feltétlenül könnyű egy ilyen térkép (első) előkészítése, de némi próbálkozás után a fenti minta alapján sikerülhet!


22.13.) Kérdôívek a HTML dokumentumban

Egy weblapon kérdőíveket is közzé tehetünk, amelyek használata első pillantásra nem feltétlenül egyszerű!
A <FORM METHOD="mód" ACTION="mit csináljak vele"> és a </FORM> közötti utasítások határozzák meg az űrlapot. További nyelvi kódok ebből az angol nyelvű táblázatból szedhetők ki: htmllang6.html.

Egy apró tanács a komolyabb kérdőívek kitöltése előtt: mindig többszörösen próbáljuk ki a kész kérdőívet. Lehetősleg ne csak a saját gépünköről, hanem minél több helyről. Ha lehetőségünk van rá, akkor érdemes több verziójú Explorerben, Netscape-ben és minél több operációs rendszerben is kipróbálni. A rendszerek közül ne maradjon ki a Linux sem! Ha saját magunknak ez gondot okoz, akkor kérjük meg ismerőseinket az ellenőrzésre. "Éles" megrendelőívvel SOHA ne kísérletezgessünk, csak az összes próba után!


A következő példa egy nem kifejezetten egyszerű kérdőívet mutat be: (minta32.html)
<html>
<head>
 <meta http-equiv="Content-Language" content="hu">
 <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
 <title>Tamás Ferenc</title>
</head>
<body>
<form method="post" action="MAILTO:ferenctamas@freemail.hu" enctype="text/plain">
  <h1 align="center">Tamás Ferenc</h1>
  <h2 align="center">A számítástechnika alapjai CD-ROM megrendelőlapja</h2>
  <h3 align="center"><span style="background-color: #FF0000">EZ CSAK MINTA, NEM
  MEGRENDELŐLAP!</span></h3>
  <p align="center">&nbsp;</p>
  <div align="center">
    <center>
    <table border="1" width="75%">
      <tr>
        <td width="60%">
  <input type="checkbox" name="Konyv1" value="ON" checked disabled>
  Tamás Ferenc: A számítástechnika alapjai könyv</td>
        <td width="15%" align="right">4.777 KByte</td>
      </tr>
      <tr>
        <td width="60%">
  <input type="checkbox" name="PPT" value="ON" checked disabled>
  Kiváló minőségű bemutató PowerPoint fájlok</td>
        <td width="15%" align="right">300.000 KByte</td>
      </tr>
      <tr>
        <td width="60%">
  <input type="checkbox" name="Free" value="ON">
  Ajánlott ingyenes programok</td>
        <td width="15%" align="right">150.000 KByte</td>
      </tr>
      <tr>
        <td width="75%" colspan="2">
          <p align="center"><b>
    <input type="checkbox" name="Rendel" value="Rendel" checked>
    IGEN, megrendelem a fenti feltételekkel a CD-ROM-ot és 
   vállalom a kifizetést az általam választott módon!</b></p>
        </td>
      </tr>
      <tr>
        <td width="60%">Megrendelő neve</td>
        <td width="15%" align="right">
  <input type="text" name="Név" size="40" value="Teljes név"></td>
      </tr>
      <tr>
        <td width="60%">Irányítószám</td>
        <td width="15%" align="right">
  <input type="text" name="Irszam" size="20" value="8000"></td>
      </tr>
      <tr>
        <td width="60%">Város</td>
        <td width="15%" align="right">
  <input type="text" name="Város" size="37" value="Város"></td>
      </tr>
      <tr>
        <td width="60%">Felhasználási terület(ek)</td>
        <td width="15%" align="right"><select size="2" name="MitCsinal" multiple>
            <option selected value="Önálló tanulás">Önálló tanulás</option>
            <option value="Kiscsoportos tanfolyam">Kiscsoportos tanfolyam</option>
            <option value="Általános iskola">Általános iskola</option>
            <option value="Középiskola">Középiskola</option>
            <option value="Felsőoktatás">Felsőoktatás</option>
            <option value="Egyéb">Egyéb</option>
          </select></td>
      </tr>
      <tr>
        <td width="60%">Fizetési mód</td>
        <td width="15%" align="right">
        <input type="radio" value="posta" name="Hogyan" checked>Postai&nbsp; utánvétellel
          <p><input type="radio" value="bank" name="Hogyan">Banki átutalással</td>
      </tr>
      <tr>
        <td width="60%">&nbsp;Megjegyzés</td>
        <td width="15%" align="right">
  <textarea rows="2" name="S1" cols="20"></textarea></td>
      </tr>
      <tr>
        <td width="75%" colspan="2" align="center">A CD-ROM ára <b>2000 Ft + ÁFA</b>,
          valamint <b>300 Ft</b> csomagolási és postaköltség!
          <h3><input type="submit" value="Megrendelem!" name="Előfizetés">&nbsp;
          Mindösszesen: <b><span style="background-color: #FF0000">2800 Ft</span></b>
    <b>&nbsp;</b><input type="reset" value="Kilépés" name="Kilépés"></h3>
        </td>
      </tr>
    </table>
    </center>
  </div>
</form>
</body>
</html>

Még valami: ne ilyen szintű legyen az Ön első kérdőíve, kedves olvasó!
Csak lassacskán haladjon a pofonegyszerűtől a nehezebb felé!


11. feladat: Készítsen egy kérdőivet, mely egy E-mail címre postázza el a látogató megkérdezett nevét! Minta: fel11.html
12. feladat: Az előző kérdőívet bővítse úgy, hogy egy újabb 4 soros szövegmezőbe lehessen beírni a felhasználó teljes postacímét! Minta: fel12.html
13. feladat: Az előző kérdőívet bővítse úgy, hogy a felhasználótől kérje be a nemét is egy választómezővel (RADIO BUTTON)! Minta: fel13.html
14. feladat: A előző kérdőívet bővítse egy legördülő mezővel, melynek segítségével a felhasználó megadhatja életkorát évtizedekben! Minta: fel14.html

Folytatás itt!