1 Részletek Endrıdi Tamás: Internet alapú alkalmazásfejlesztés c. jegyzetébıl A jegyzet 1. fejezete a HTML nyelvet mutatja be az alap HTML tagoktól ke...
Endrıdi Tamás: Internet alapú alkalmazásfejlesztés c. jegyzetébıl A jegyzet 1. fejezete a HTML nyelvet mutatja be – az alap HTML tagoktól kezdve az összetettebb táblák és keretek megvalósításáig. A 2. fejezet a modern böngészıprogramok által használt Cascading Style Sheet (CSS) technológiával foglalkozik, vagyis azt elemzi, hogyan lehet kettéválasztani a tartalmat a megjelenítés formátumától. Ebben a fejezetben kapott helyet az XML nyelv ismertetése is.
2
A HTML nyelv alapjai
1. A HTML nyelv alapjai A Hypertext Markup Language (HTML) nyelvet eredetileg szövegalapú dokumentumok kezelésére találták ki, melyben alapvetı formázási parancsok (markup) és más információhoz való csatlakozás (hypertext, hyperlink) lehetısége is helyet kapott. A HTML nyelv jelentısége lényegesen túlnıtt az eredeti alkotók legmerészebb álmain is: az Internet térhódításával újabb és újabb nyelvi variációi jelentek meg (jelenleg a HTML 4.0-nál tartunk). Mind az Internetes publikálás, mind az Internetes alkalmazásfejlesztés valamilyen szinten HTML nyelvi elemeket használ. A különféle vizuális dokumentációkészítı és alkalmazásfejlesztı eszközök – így például az MS FrontPage, az MS Word, illetve az MS Visual Studio .NET – részben „eltakarják” a HTML szintet, hogy ne kelljen a fejlesztınek alacsony szintő HTML-elemek kódolásával veszıdnie. A HTML-nyelv alapismerete azonban nélkülözhetetlen az Internetes alkalmazásfejlesztéssel foglalkozók számára. Ez a fejezet az alapvetı HTML elemeket és azok használatát mutatja be mintapéldákon keresztül. Amennyiben az Olvasó korábban már kellı jártasságot szerzett a HTML nyelvben, bátran lapozzon át a második fejezetre.
1.1. Alap HTML tagok Egy HTML dokumentum sima szöveges fájl, amelyben a képernyın megjelenítendı szövegeket speciális HTML tagok1 veszik körül. Egy HTML tag szintaktikailag egy kisebb jel (<) és egy nagyobb jel (>) közötti azonosítóból (és esetleg további adatokból) áll. A HTML tagokat a Web böngészıprogram (például az Internet Explorer 6.0) értelmezi, és az elıírt beállításokat, parancsokat végrehajtja. Igen gyakori egy HTML dokumentumban, hogy egy sima, képernyın megjelenítendı szövegblokkot két HTML tag ölel körül. Ilyenkor az elsı tagot nyitó tagnak, a befejezıt pedig záró tagnak nevezzük. A záró tag azonosítója megegyezik a hozzá tartozó nyitó tag azonosítójával. A záró tag annyiban különbözik a nyitó tagtól, hogy a kisebb jelet egy perjel követi (). A nyitó és a záró tagot, valamint az általuk körülzárt szövegblokkot együtt HTML elemnek nevezzük. A HTML nyelvben a HTML elemek egymásba ágyazhatók, de egymást nem lapolhatják át. Ez azt jelenti, hogy mindig a legutolsó nyitó tagot kell elsıként bezárni.
1.1.1. HTML konténer tagok A HTML konténer tagok felépítését nézzük meg egy egyszerő példán keresztül. <TITLE>Feladat 1-1
1
Az angol HTML-tag kifejezést más magyar nyelvő dokumentációban szokás HTML-címkének is nevezni. A „címke” szóra történı fordítás viszont a „caption” és a „title” szavak magyarra fordítását nehezítené meg, ezért ebben a jegyzetben az eredeti angol HTML-tag elnevezést használjuk.
Alap HTML tagok
3
Miért kezdıdik minden könyv elsı mintaprogramja azzal, hogy "Helló világ?!"
1-1. kódrészlet
Az 1-1. kódrészletbıl igen markánsan kiviláglik a HTML dokumentumok alapszerkezete. Egy tetszıleges szöveges (ASCII) anyagot az tesz HTML dokumentummá, hogy a nyitó tag és a záró tag öleli körül.2 A fejléc elem (header element) tartalmát a böngészık általában nem közvetlenül a Web-lapon jelenítik meg. A és a tagok által határolt szekcióban szokott helyet kapni – többek között – a <TITLE> elem, melynek szöveges tartalma a böngészı címsorában fog megjelenni. A test elem (body element) tartalmazza a weblapon ténylegesen megjelenı formázott és formázatlan szövegeket, valamint az egyéb objektumokat. Egy HTML dokumentum alapszövege a és a tagok által határolt szekcióban helyezkedik el.
1-1. ábra
Az 1-1. ábra az 1-1. kódrészlet eredményét mutatja az Internet Explorer 5.0 böngészıprogramban.
2
Maga a dokumentumfájl kiterjesztése ettıl függetlenül .HTM, .HTML vagy akár .ASP is lehet.
4
A HTML nyelv alapjai
1.1.2. Karakter formázó HTML tagok Szöveges dokumentumok kezelésénél alapvetı igény a szövegek különféle formázása. A HTML nyelvben számos tag szolgálja ezt a funkciót. A részletes bemutatás helyett álljon itt egy kódrészlet, amely jól jellemzi a karakter formázás HTML-es technikáját. <TITLE>Feladat 1-2 Ez a szöveg vastagon jelenik meg. Ez pedig megdöntve. Ez egy aláhúzott szöveg, ez egy <STRIKE>áthúzott szöveg lesz. Ez egy nem proporcionális, azaz fix széles szöveg. Ez a szöveg <SUB>subscript jellegő. Ez a szöveg pedig <SUP>superscript jellegő.
1-2. kódrészlet
A kódrészletbıl látható, hogy a formázások nevének angol kezdıbetői alkotják a megfelelı formázó tagokat (pl. bold-vastag, italic-dılt, underline-aláhúzott stb.) Az 1-2. ábrán látható eredménybıl az is kiderül, hogy a kódrészletben külön sorban megjelenı szövegeket a böngészı nem rakta külön sorba, hanem egybeöntötte. A HTML nyelv természetesen lehetıséget biztosít a szövegszerkesztıknél megszokott „bekezdés” jellegő szövegformázásra is, de ezekrıl csak késıbb, az 1.1.3 részben lesz szó.
1-2. ábra
A különféle fontkészletek felhasználásával még kiterjedtebb lehetıségeink vannak a megjelenítendı szövegek formázására. Az 1-3. kódrészlet egy egyszerő példát mutat a fontok használatára. <TITLE>Feladat 1-3
Alap HTML tagok
5
Színek! Méret! Betőtípus! Több változás együtt!
1-3. kódrészlet
A fenti kódrészletbıl általános szabályként azt is kiolvashatjuk, hogy a nyitó tagok a tagazonosítón kívül különféle attribútum-beállításokat is tartalmazhatnak „attribútum=érték” formájában. Az 1-3. ábra a fenti 1-3. kódrészlet eredményét mutatja az IE 5.0-ban.
1-3. ábra
1.1.3. Sor formázó HTML tagok Az 1-2. kódrészletnél már láttuk, hogy a böngészıprogram figyelmen kívül hagyja az eredeti szövegben szereplı kocsivissza-soremelés karaktereket. A megjelenı szövegben ezek helyén egy üres karakter (ún. whitespace) fog megjelenni. A TAB karakter is hasonlóan üres karakterként jelenik meg. Az 1-4. kódrészlet a HTML nyelv különféle sorformázási lehetıségeit mutatja be. <TITLE>Feladat 1-4
Ez a sor egy paragrafus példa.
Ez pedig egy másik paragrafus.
Itt látunk egy elsı szintő fejlécet.
Itt látunk egy második szintő fejlécet.
Ez a mondat után nincs soremelés. Ez után viszont van. Ez a mondat után sincs soremelés. Ez után sincs soremelés.
1-4. kódrészlet
A kódrészletbıl látható, hogy a
tagot használja a HTML nyelv a paragrafus (bekezdés) létrehozására. A záró paragrafustag használata nem kötelezı, hiszen a böngészıprogram úgy mőködik, hogy egy újabb nyitó
tag hatására bezártnak tekinti az elızı paragrafust.
6
A HTML nyelv alapjai
A
és a
tagok egy beépített hatszintő hierarchikus címsor elsı két szintjét jelképezik. Mindig az adott böngészıprogram dönti el, hogy az egyes szinteknek milyen betőtípust és fontméretet feleltet meg, de mindig a
a legnagyobb, és a
a legkisebb betőméret. A tag a tulajdonképpeni soremelés (break) tag a HTML-ben. Miután a taghoz nem kapcsolódik szövegblokk, ezért záró tag sem létezik.
1.4 ábra
Két speciális szövegformázási lehetıségre láthatunk példát az 1-5. kódrészletben. <TITLE>Feladat 1-5
Amit itt látunk, az egy elıre megformázott szöveg. Vegyük észre, hogy pontosan úgy jelenik meg, ahogy begépeltük.
Az itt megadott mondatot a böngészı kettétörheti, ha úgy jön ki a lépés, és nem fér ki az ablakban. Ezt a mondatot viszont semmiképpen nem törheti ketté, még akkor sem, ha nem férne el az ablakban.
1-5. kódrészlet
Alap HTML tagok
7
A
elem alkalmazásakor a nyitó
tag és a záró
tag által körülzárt szövegre nem érvényesek a korábban említett szóköz-, TAB- és soremelés-ignoráló szabályok. A szövegblokk ilyenkor pontosan úgy jelenik meg, ahogy azt begépeltük a HTML dokumentum fájl-ba. A elem (no-break) szövegblokkját viszont mindenképpen egy sorban jeleníti meg a böngészı – még akkor is, ha így a szöveg bizonyos részei csak a vízszintes gördítısávval érhetık el. A tag (horizontal line) egy sorszeparátor elhelyezését teszi lehetıvé. A WIDTH és a LINE attribútumokkal a vonal relatív hosszát (százalékban) és a pixelekben mért vastagságát adhatjuk meg. A kódrészlet eredményét az 1-5. ábrában tekinthetjük meg.
1.5 ábra
A sorformázó elemekkel létrehozott szövegblokkok az ALIGN attribútum, illetve a
elem segítségével balra, jobbra, illetve középre igazíthatók. Az 1-6. kódrészlet a szövegigazításra mutat példát. <TITLE>Feladat 1-6
Ez a paragrafus balra van igazítva.
Ez a 2-es szintő fejléc középre igazított.
Ez az 5-ös fejléc jobbra igazított.
Ez egy sima középre igazított szöveg.
1-6. kódrészlet
8
A HTML nyelv alapjai
A fenti példából látható, hogy a középre igazítás kétféle technikával is elvégezhetı. Az eredmény az 1-6. ábrában jelenik meg.
1-6. ábra
1.1.4. Kép és hiperhivatkozás beillesztése A különféle típusú képek (elsısorban GIF és JPEG formátumot szoktak használni) és a hiperhivatkozások (hyperlinkek) különösen fontos szerepet játszanak a HTML dokumentumokban. A beillesztés megvalósítását az 1-7. kódrészletben követhetjük nyomon. <TITLE>Feladat 1-7 Itt látható egy image (kép): .
A most következı kép jobbra van igazítva. Az igazítás miatt a kép kikerül a normál szövegfolyamból, és az ıt körülvevı szöveghez viszonyított relatív elhelyezést nyer. Ez itt egy hivatkozás a Számalk OKK honlapjára. A következı helyi hyperlinkhez kép és szöveg is tartozik. text A következı link egy könyvjelzıre mutat egy fájl-on belül. Könyvjelzı
1-7. kódrészlet
Alap HTML tagok
9
Egy kép beillesztéséhez az tagot (image tag) kell használni. Miután az taghoz nem tartozik szövegblokk, ezért záró sem létezik. Az image tagnak több attribútuma is van, melyek közül a legfontosabb az SRC attribútum, ami a képfájl helyét adja meg. A képfájl helyét többféleképpen is meghatározhatjuk: •
Ha a képfájl a HTML dokumentummal megegyezı könyvtárban található, akkor csak szimplán a fájlnevet kell megadnunk. (Pl.: sample.gif)
•
Ha a fájl a HTML dokumentumhoz képest egy másik könyvtárban található, akkor a fájlnevet az útvonallal kell kiegészítenünk. (pl. image/sample.gif)
•
Ha a fájl egy másik Web címen található, akkor a teljes http címet kell ideírnunk. (Pl. http://okk.szamalk.hu/intprog/images/sample.gif )
Ez a lap a táblázatok használatát mutatja be. Helyi linkeket tartalmaz baloldalon, külsı linkeket a jobboldalon, a tartalom pedig középen jelenik meg, a fejléc pedig a tetején.
Az 1-14. kódrészletbe már több apró trükköt is beépítettünk. A trans.gif nevő – ténylegesen üres – kép csak azért került be mindhárom oszlopba, hogy az ablak kicsinyítésekor az oszlopok mérete semmiképpen se csökkenjen 80, 150, illetve 120 pixel alá. Ebben az esetben ugyanis az ott szereplı hiperhivatkozások két sorba „törnének”, ami nagyon zavaró lenne. A tag TOPMARGIN=0, illetve LEFTMARGIN=0 beállítása azért szükséges, hogy a weblapon eredendıen meglévı kis margó ebben a táblázatos elrendezésben ne jelenjen meg, hiszen itt a tábla a teljes weblapot elfoglalja (WIDTH=100%, HEIGHT=100%).
18
A HTML nyelv alapjai
1-14. ábra
1.2.4. HTML keret A HTML keretek (frames) használatával a weblapot régiókra oszthatjuk, és mindegyik régióban egy-egy önálló HTML dokumentum tartalmát jeleníthetjük meg. A HTML keretek létrehozását ún. frameset dokumentumban kell elvégezni. Egy frameset dokumentum csak annyiban különbözik egy normális HTML dokumentumtól, hogy a W3C szervezet szabványa értelmében a elem helyett