Kiel fari TTT-pagxojn

Bildoj k.a. elementoj

En tiu cxi leciono vi lernos pri la jenaj elementoj:

  • img = bildo
  • br = linirompo
  • hr = horizontala streko

img: Bildo «

Oni povas enmiksi ankaux bildojn en XHTML-pagxojn. Por tio oni uzas img-markojn:

<img src="bildo-de-mi.png" alt="Mi estas nerimarkinda homo" />

La plej grava parto de img-marko estas la src-atributo. Gxi indikas la nomon de bildodosiero. TTT-legilo montras la indikitan bildon anstataux la img-marko (se gxi kapablas montri bildojn, kaj se gxi estas agordita por efektive montri bildojn).

Ankaux la dua atributo, alt, estas grava. Gxi enhavas alternativan tekston, kiu uzigxas, se la bildo ial ne montrigxas, ekzemple se la leganto elsxaltis montradon de bildoj, aux se li uzas TTT-legilon, kiu neniam montras bildojn. En tiaj okazoj la alt-teksto servu, kiom eble, anstataux la bildo. Oni do elpensu ian tekston, kiu povas, lauxeble, transdoni la samajn informojn, aux servi la saman taskon, kiel la bildo. Se la bildo estas nure ornama aux plene ignorebla, oni povas trankvile skribi alt="". Precipe grave estas aldoni alt-tekston, se la bildo estas la sola enhavo de a-elemento. Alie iuj uzantoj eble havos nenion sur kio alklaki, kaj la ligilo povas farigxi neuzebla.

Noto: Oni normale ne skribu ekz. “Bildo de mi”, nek la nomon de la bildo, nek ion sensencan kiel “Logotipo” aux “Bildo”. Oni skribu ion, kio plenumas la saman rolon kiel la bildo. Se estas ekzemple bildo de domo, oni per la alt-teksto priskribu la domon. Oni ne parolu pri la bildo de la domo, sed rekte pri la domo mem, tiel, kiel oni farus, se oni tute ne povus uzi bildon, sed devus cxion esprimi nur per teksto.

img-marko estas t.n. malplena elemento. (Ni jam renkontis meta-elementon, kiu ankaux estas malplena.) Tio signifas, ke img-elemento konsistas el unu marko, kiu estas samtempe komenca kaj fina. Rimarku la finan suprenstrekon, /, kiu montras, ke la elemento tuj finigxas. (Malplena elemento estas malplena, cxar gxi ne havas enhavon inter komenca marko kaj fina marko.)

img-elemento povas esti enmiksita en teksto, ekzemple jene:

<p>Jen bildo de io bela:
<img src="bildo-de-mi.png" />.
Bele chu ne?</p>

Baza tabelo

Oni ankaux povas aldoni title-atributon kun aldona teksto, kiu kompletigas la bildon per iaj informoj. Multaj TTT-legiloj montras title-tekston, kiam oni musumas sur la bildo. Jen ekzemplo:

Mi estas timema homo

Jen la XHTML-kodo:

<img src="bildoj/portreto.jpg" alt="Mi estas timema homo"
title="Foje mi rifuzas esti fotata" />

Se temas pri grava aldona teksto, oni prefere enmetu gxin kiel ordinaran tekston (ekz. en p-elemento), cxar title-teksto ordinare montrigxas nur se la leganto aparte musumas sur la bildo.

Noto: Iuj legiloj konfuzas alt kaj title montrante alt kvazaux gxi estus title (kiam title mankas). Tio ne estas gxusta. alt estu uzata kiam la bildo ne estas montrata, do anstataux la bildo, dum title estas la gxusta atributo por teksto, kiu provizu ion aldonan al la bildo.

Noto: Ankaux aliaj elementoj (pli-malpli cxiuj) povas havi title-atributon por kompletigaj informoj. Vidu ekzemplojn en la posta leciono pri “Diversaj elementoj”.

Bildadresoj «

Por ke cxio gxuste funkciu, necesas, ke la bildo trovigxu en la indikita loko, kaj ke la nomo estu gxusta. En la ekzemplo mi skribis simple la nomon de bildodosiero: “bildo-de-mi.png”. Tio signifas, ke la bildo estas en la sama loko kiel la pagxo mem en la sama dosierujo en la sama servilo, kaj ke gxi nomigxas “bildo-de-mi.png”. Sed oni povas teni siajn bildojn ankaux en tute alia loko. Ekzemple povas esti, ke bildodosiero trovigxas ene de subdosierujo. Se tiu subdosierujo nomigxas “bildoj”, oni skribu jene:

<img src="bildoj/bildo-de-mi.png" />

La sercxvojo povas esti pli komplika, ekzemple src="../bildoj/bildo-de-mi.png" (iru supren unu nivelon, kaj poste en la dosierujon “bildoj”, kaj tie trovu “bildo-de-mi.png”). Alia ekzemplo: src="/aldonajhoj/bildoj/bildo-de-mi.png" (iru al la plej supra nivelo en la servilo, eniru en la dosierujon “aldonajhoj”, kaj poste en la dosierujon “bildoj”, kaj tie trovu “bildo-de-mi.png”). Oni ankaux povas indiki bildon, kiu trovigxas en tute alia servilo. Tiam oni devas doni la kompletan adreson kun la nomo de la servilo, ekzemple src="http://www.iuservilo.org/aldonajhoj/bildoj/bildo-de-mi.png".

Adresoj kiel "bildo-de-mi.png", "bildoj/bildo-de-mi.png" kaj "../bildoj/bildo-de-mi.png", estas ekzemploj de relativaj adresoj. Ili montras la lokon de la bildo relative al la loko de la XHTML-pagxo.

Adresoj kiel "/aldonajhoj/bildoj/bildo-de-mi.png", kaj "http://www.iuservilo.org/aldonajhoj/bildoj/bildo-de-mi.png", estas ekzemploj de absolutaj adresoj. Ili montras la lokon de la bildo rekte.

Kiam vi alsxutas TTT-pagxojn al servilo (per FTP-programo), ne forgesu alsxuti ankaux la bildojn, kiujn vi uzas en viaj pagxoj.

Noto: Se oni uzas specialajn programojn, kiuj kreas la (X)HTML-kodon auxtomate, oni surprize ofte ekhavas problemojn pri bildoj (kaj similaj aldonaj dosieroj), cxar iuj tiaj programoj fusxas la adresojn de la bildoj. Ne malofte okazas, ke tia programo skribas lokan adreson, kiu rekte referencas al certa dosierujo en la loka komputilo per adreso, kiu neniel povas poste funkcii en TTT-servilo. Prefere vi cxiam skribu la XHTML-kodon mem per tekstoredaktilo. Tiam vi evitas tiajn stultajn problemojn. Sed se vi tamen uzas tian helpoprogramon, memoru cxiam kontroli tiajn adresojn.

Noto: Vindozuloj aparte atentu, ke en tiaj cxi adresoj oni ne uzu malsuprenstrekojn, \, sed cxiam suprenstrekojn: /. Oni do skribu ekzemple src="../bildoj/bildo.jpg" (nepre ne src="..\bildoj\bildo.jpg").

br: Linirompo «

Simplajn linirompojn la TTT-legiloj ignoras:

<p>
Jen iom da teksto.
Jen teksto sur nova linio.
Jen teksto sur ankorau unu linio.
</p>

Metu tiun kodon en XHTML-pagxon, kaj poste rigardu per TTT-legilo. Vi vidos, ke la legilo prezentas cxiujn tri liniojn kiel unu, ignorante la linirompojn.

Noto: TTT-legiloj ankaux ignoras troajn spacetojn. Ekzemple ne gravas cxu inter du vortoj estas unu, du, tri, kvar aux ecx pli da spacetoj. TTT-legiloj montras cxiuokaze nur unu normalan intervortan spacon. La legiloj same traktas ankaux tabojn (tabeligajn signojn), kiuj montrigxas tute same kiel spacetoj. Efektive linirompo, tabo kaj spaceto estas por TTT-legiloj tute egalaj. Ankaux ne gravas, kiom da tiaj blanksignoj oni metas ekzemple inter du p-elementoj.

Se oni volas, ke en iu loko estu linirompo, kiun la TTT-legiloj ne ignoros, oni devas uzi br-elementon:

<p>
Jen iom da teksto.<br />
Jen teksto sur nova linio.<br />
Jen teksto sur ankorau unu linio.<br />
</p>

Provu tiun kodon anstatauxe. Vi vidos, ke la TTT-legilo aldonas linirompojn en la indikitaj lokoj.

Se vi bone atentis tion, kion mi skribis en la leciono “Kio vere estas XHTML?”, vi eble iom surprizigxis, ke ekzistas br-markoj. Rompado de linioj sxajnas esti tia prezenta detaleto, pri kiu oni ne zorgu en XHTML. Efektive br-elementoj estas iom suspektindaj. Normale, kiam oni pripensas uzi br-elementon, temas logike pri nova alineo, kaj oni prefere uzu p-elementojn: Anstataux <br /> oni finu la alineon per </p>, kaj komencu novan alineon per <p>. Eble oni ial ne deziras, ke la legiloj montru spacon inter tiuj du alineoj, sed tio estas afero de prezentado, kaj pri tio oni poste zorgu per CSS. Alifoje povas esti, ke vere temas pri listo, kaj por tio oni uzu ul-elementon aux ol-elementon. Nur en malmultaj tre specialaj okazoj br-elementoj estas la gxusta elekto. Unu ekzemplo estas poemoj. Estas tute en ordo meti br post linio de poemo.

hr: Horizontala streko «

Alia malplena elemento estas la elemento hr, kiu reprezentas horizontalan strekon. Tia streko montras dividon, limon, inter du sekcioj:

<p>Jen alineo.</p>
<hr />
<p>Jen alia alineo.</p>

Provu tiun kodon en TTT-legilo. Vi versxajne vidos, ke la legilo prezentas horizontalan strekon.

Efektive hr estas, same kiel br, iom suspektinda elemento. Ofte estas preferinde uzi CSS-on por lauxbezone krei similajn strekojn inter sekcioj. (Oni povas krome demandi sin, kian sencon hr-elemento havas en vocxlegilo.) Normale la diversaj titoloj, h1, h2, h3 k.t.p. suficxas por indiki, kie komencigxas nova sekcio, sed en iaj specialaj okazoj aldona indikado pri dividado de la materialo povas esti bezonata, kaj tiam hr povas esti tauxga ilo. (Eble vocxlegilo povas indiki tian sekcilimon per aparte longa pauxzo.)

Iom pli pri malplenaj elementoj

Cxiuj tri elementoj klarigitaj cxi-antauxe, img, br kaj hr, estas malplenaj elementoj. Tiaj elementoj havas finan suprenstrekon, /, en la komenca (kaj sola) marko. Cxi-antauxe mi skribis tiujn suprenstrekojn cxiam kun antauxa spaceto: <img src="bildo.png" />, <br  />, <hr />. Efektive tia spaceto laux la reguloj de XHTML tute ne estas bezonata, kaj efektive signifas nenion. La reguloj tute permesas skribi ankaux jene: <img src="bildo.png"/>, <br/>, <hr/>. Iuj tre malnovaj legiloj konfuzigxis, se oni ne skribis tian spaceton, kaj siatempe estis rekomendinde cxiam aldoni la spaceton. Sed laux miaj esploroj la lasta TTT-legilo, kiu havis problemojn pri tiaj suprenstrekoj, estis “Netscape 4”, kaj tiu TTT-legilo nun estas praktike tute formortinta.

Iafoje povas okazi, ke elemento, kiu normale ne estas malplena, tamen ne havas enhavon. Eble oni havas alineon sen teksto: <p></p>. La reguloj de XHTML principe permesas tiam skribi simple <p /> aux <p/> (kun aux sen spaceto), sed malnovaj legiloj tion tute ne komprenas, kaj tial oni cxiam skribu <p></p>. Aliflanke alineo sen enhavo estas suficxe sensenca afero, kaj tial plej bone estas simple forigi tiajn sensencajn p-elementojn.

Al la sekva leciono