XHTML-elementit ja kurssin järjestelyt - Luento 1

Luennolla käydään läpi kurssin järjestelyihin liittyvät asiat ja käydään läpi XHTML-elementtejä. Muistellaan CSS:n perusteita.

Luentotaltiointi

Esittely (noin 20-30 min)

Rakenneajatus kertauksena

Tekstidokumentissa on erilaisia tekstiä jäsentäviä osia: otsikoita, tekstikappaleita, listoja jne. Pelkkä teksti tulee näin luettavampaan muotoon. Näistä osista muodostuu dokumentin rakenne. Ajatuksena on, että rakenne ja ulkoasu ovat toisistaan riippumattomia asioita. Kun teksti on jäsennetty sisällön mukaan, niin ulkoasua voidaan muokata rakenteellisten osasien, elementtien, mukaan.

XHTML-dokumentin rakenne

XHTML-dokumentti on tekstiä, jossa merkitään dokumentin rakenne elementeillä, jotka kirjoitetaan <>-merkkien väliin. Esim. <title>.

Elementeillä on aina aloitus ja lopetus joiden välissä on varsinainen elementin sisältö. esim.

<title>Tietokone ja tietoverkot työvälineenä</title>

<title> on aloituselementti.

</title> on lopetuselementti. Lopetuselementissä on aina /-merkki

Jos elementillä ei ole sisältöä niin lopetuselementti voidaan lyhentää suoraan aloituselementtiin: <br />

Elementtien välillä ja tekstin keskellä saa olla vapaasti välilyöntejä tai rivinvaihtoja.

Ominaisuudet eli attribuutit

Elementeillä voi olla ominaisuuksia eli attribuutteja, jotka määrittelevät jotakin elementtiin liittyviä asioita. Esim. hyperlinkin kohde määritellään a-elementtiin tulevalla href-attribuutilla:

<a href="http://www.jyu.fi/">Jyväskylän yliopisto</a>

Dokumentin on oltava hyvin muodostettu

Tuotetun dokumentin pitää olla hyvin muodostettu (engl. well-formed), ettei selaimien tarvitse tehdä tulkitsemisessa arvailuja. Eri elementit eivät siis saa mennä keskenään ristiin eikä lopetusosia saa unohtaa.

Väärin

<p>Tuotetun <strong>dokumentin pitää olla
 hyvin muodostettu 
 (<em>engl. well-formed</em>).</p></strong>

Oikein

<p>Tuotetun <strong>dokumentin pitää olla
 hyvin muodostettu 
 (<em>engl. well-formed</em>)</strong>.</p>

Dokumentin pitää olla validi

Dokumentin pitää olla myös validi (engl. valid) eli sen rakenne pitää olla jonkin dokumenttityypin mukainen. Dokumenttityyppi määrää mitä elementtejä voi käyttää, mitkä elementit saavat sijaita minkäkin elementtien sisällä ja mitä attribuutteja kuuluu millekin elementille jne.

XHTML:n erilaiset dokumenttityypit

XHTML-elementtien luokittelu

Elementtejä voi luokitella muunmuassa seuraavan jaottelun mukaan:

Esimerkkejä XHTML-elementeistä

Esimerkkidokumentti XHTML-elementeistä. Tutki sivuston lähdekoodia View | Page Source.

Lohkotason elementit

Lohkotason elementeillä merkitään tyypillisesti pidempiä tekstiosioita, kuten kappaleita, listoja ja taulukoita. Lohkotason elementin sisällä saa olla tai ei saa olla toisia lohkotason elementtejä riippuen elementistä.

Otsikkoelementit - (h1 - h6)

<h1>Ensimmäisen tason otsikko</h1>

  <p>Tämä on tekstikappale</p>

<h2>Toisen Tason otsikko</h2>
  <p>Tämä on tekstikappale</p>

Tekstikappale - p

<p>
  Tämä on tekstikappale
</p>
<p> Tämä on tekstikappale </p>

Osoite - address

address-elementillä merkitään dokumentin tekijän yhteystiedot.

<address>
  <a href="http://www.iki.fi/hazor/">Tommi Lahtonen</a>
  (<a href="mailto:tommi.j.lahtonen@jyu.fi">tommi.j.lahtonen@jyu.fi</a>)
  &lt;URL:<a href="http://www.iki.fi/hazor/">http://www.iki.fi/hazor/</a>>

</address>

Kappalelainaus - blockquote

blockquote-elementillä merkitään isot useiden kappaleiden tai elementin kokoiset lainaukset. Seuraavassa esimerkki lohkotasoisesta lainauksesta:

Jakob Nielsen kirjoittaa artikkelissaan When Bad Design Elements Become the Standard

Web design is easy: If you are thinking about how to design a certain page element, all you have to do is to look at the twenty most-visited sites on the Internet and see how they do it.


<p>Jakob Nielsen kirjoittaa artikkelissaan 

<cite><a href="http://www.useit.com/alertbox/991114.html">
When Bad Design Elements Become the Standard</a></cite></p>

<blockquote cite="http://www.useit.com/alertbox/991114.html">
<p>
<em>Web design is easy:</em> If you are thinking about how to design a
certain page element, all you have to do is to look at the twenty 
most-visited sites on the Internet and see how they do it.

</p>
<ul>
  <li>If <strong>90% or more</strong> of the big sites do things in a
  single way, then this is the <strong>de-facto standard</strong> and
  you <em>have</em> to comply. Only deviate from a design standard
  if your alternative design has at least 100% higher measured usability.</li>

  <li>If <strong>60-90%</strong> of the big sites do things in a
  single way, then this is a <strong>strong convention</strong> and
  you <em>should</em> comply unless
  your alternative design has at least 50% higher measured usability.</li>

  <li>If <strong>less than 60%</strong> of the big sites do things in a
  single way, then <strong>there are no dominant conventions yet</strong> and
  you are free to design in an alternative way. Even so, if there are a 
  <strong>few options, each of which are used by at least 20% of big 
  sites</strong>, you should limit yourself to choosing one of these
  reasonably well-known designs unless your alternative design has at least 25%
  higher measured usability than the best of the choices used by the big sites.</li>

</ul>
</blockquote>

Muotoilematon teksti - pre

pre-elementillä merkitään tekstilohkot, joissa on välttämätöntä säilyttää tekstin alkuperäinen kirjoitusasu. Elementtiä käytetään esimerkiksi ohjelmakoodilistauksissa.

<pre>
.navbar {
        border-style: solid;
        border-width: 1px;
        background-color: yellow;
        color: black;
        text-align: center;
        font-weight: bold;
        width: 100%;
        height: 2em;
        padding: 0.5em;
        position: fixed;
        top: 0%;
        left: 0%;
}
</pre>

Yleinen lohko - div

div-elementti on yleinen lohkotason elementti, jota käytetään merkitsemään erilaisia lohkoja. Esimerkiksi CSS-tyylejä käytettäessä div-elementtiä käytetään, jos ei löydetä vastaavaa kappaletason elementtiä. Seuraavassa esimerkissä on nähtävillä tällä sivulla oleva navigointipalkin lähdekoodi:

<div class="navbar">    
  <ul>
    <li><a href="http://appro.mit.jyu.fi/">Appro</a></li>
    <li><a href="ilmoitukset/">Ilmoitukset</a></li>
    <li><a href="luennot/">Luennot</a></li>
    <li><a href="demot/">Demot</a></li>
    <li><a href="harkka/">Harjoitustyö</a></li> 
    <li><a href="linkit/">Linkit</a></li>
    <li><a href="tentit/">Suoritukset</a></li>
    <li><a href="http://appro.mit.jyu.fi/palaute.html">Palaute</a></li>
  </ul>
</div>

Erilaiset listat

Seuraavassa on esimerkkien avulla käsitelty järjestämätön ja järjestetty lista sekä määritelmälista.

Järjestämätön lista - ul

<ul>
  <li>Järjestämättömän listan ensimmäinen alkio</li>
  <li>Järjestämättömän listan toinen alkio</li>

  <li>Järjestämättömän listan kolmas alkio</li>
  <li>Järjestämättömän listan neljäs alkio</li>
</ul>

Järjestetty lista - ol

  1. Järjestetyn listan ensimmäinen alkio
  2. Järjestetyn listan toinen alkio
  3. Järjestetyn listan kolmas alkio
  4. Järjestetyn listan neljäs alkio
<ol>
  <li>Järjestetyn listan ensimmäinen alkio</li>

  <li>Järjestetyn listan toinen alkio</li>
  <li>Järjestetyn listan kolmas alkio</li>
  <li>Järjestetyn listan neljäs alkio</li>
</ol>

Sisäkkäiset listat

  1. Järjestetyn listan ensimmäinen alkio
    • Järjestämättömän listan ensimmäinen alkio
    • Järjestämättömän listan toinen alkio
      1. Järjestetyn listan ensimmäinen alkio
      2. Järjestetyn listan toinen alkio
    • Järjestämättömän listan kolmas alkio
  2. Järjestetyn listan toinen alkio
  3. Järjestetyn listan kolmas alkio
    • Järjestämättömän listan ensimmäinen alkio
    • Järjestämättömän listan toinen alkio
    • Järjestämättömän listan kolmas alkio
      • Järjestämättömän listan ensimmäinen alkio
      • Järjestämättömän listan toinen alkio
    • Järjestämättömän listan neljäs alkio
<ol>
<li>Järjestetyn listan ensimmäinen alkio
<ul>
  <li>Järjestämättömän listan ensimmäinen alkio</li> 
  <li>Järjestämättömän listan toinen alkio
    <ol>

      <li>Järjestetyn listan ensimmäinen alkio</li>
      <li>Järjestetyn listan toinen alkio</li>
    </ol>
  </li>
  <li>Järjestämättömän listan kolmas alkio</li>

</ul> 
</li>

<li>Järjestetyn listan toinen alkio</li>

<li>Järjestetyn listan kolmas alkio
<ul>
  <li>Järjestämättömän listan ensimmäinen alkio</li> 
  <li>Järjestämättömän listan toinen alkio</li>

  <li>Järjestämättömän listan kolmas alkio
  <ul>
    <li>Järjestämättömän listan ensimmäinen alkio</li> 
    <li>Järjestämättömän listan toinen alkio</li>
  </ul>

  </li>
  <li>Järjestämättömän listan neljäs alkio</li>
</ul>
</li>

</ol>

Määritelmälista - dl


<dl>
<dt>CSS</dt>
<dd>Cascading Style Sheets</dd>

<dt>XHTML</dt>
<dd>eXtensible Hypertext Markup Language</dd>
</dl>

Taulukot

Taulukoita rakennettaessa kannattaa huomata seuraavia asioita:

Seuraavassa yksinkertainen esimerkki taulukosta, jossa on neljä riviä ja kaksi saraketta.

Taulukkoon liittyvä otsikko
Esimmäisen sarakkeen otsikkoToisen sarakkeen otsikko
1. rivin 1. solu1. rivin 2. solu
2. rivin 1. solu2. rivin 2. solu
3. rivin 1. solu3. rivin 2. solu
<table summary="Tekstikuvaus taulukon sisällöstä">
<caption>Taulukkoon liittyvä otsikko</caption>
<tr>
  <th>Esimmäisen sarakkeen otsikko</th>
  <th>Toisen sarakkeen otsikko</th><

/tr>
<tr>
  <td>1. rivin 1. solu</td>
  <td>1. rivin 2. solu</td>
</tr>
<tr>

  <td>2. rivin 1. solu</td>
  <td>2. rivin 2. solu</td>
</tr>
<tr>
  <td>3. rivin 1. solu</td>

  <td>3. rivin 2. solu</td>
</tr>
</table>
Ensimmäisen sarakkeen otsikko Toisen sarakkeen otsikko Kolmannen sarakkeen otsikko
1. rivin 1. solu 1. rivin 2. solu 1. rivin 3. solu
2. rivin 1. solu 2. rivin 2. solu 2. rivin 3. solu
3. rivin 1. solu 3. rivin 2. solu 3. rivin 3. solu
4. rivin 1. solu joka laajenee kolmen sarakkeen alueelle
5. rivin 1. solu 5. rivin 2. solu, joka laajenee kahdelle riville 5. rivin 3. solu
6. rivin 1. solu 6. rivin 3. solu
<table summary="tekstikuvaus taulukon tarkoituksesta ja sisällöstä" >
<tr>
   <th>Ensimmäisen sarakkeen otsikko</th>  <th>Toisen sarakkeen otsikko</th>  <th>Kolmannen sarakkeen otsikko</th>

</tr>
<tr>
   <td>1. rivin 1. solu</td>               <td>1. rivin 2. solu</td>          <td>1. rivin 3. solu</td>

</tr>
<tr>
   <td>2. rivin 1. solu</td>               <td>2. rivin 2. solu</td>          <td>2. rivin 3. solu</td>

</tr>
<tr>
   <td>3. rivin 1. solu</td>               <td>3. rivin 2. solu</td>          <td>3. rivin 3. solu</td>

</tr>
<tr>
   <td colspan="3">4. rivin 1. solu joka laajenee kolmen sarakkeen alueelle</td>
</tr>
<tr>
   <td>5. rivin 1. solu</td>               <td rowspan="2">5. rivin 2. solu, joka laajenee kahdelle riville</td>          
   <td>5. rivin 3. solu</td>

</tr>
<tr>
   <td>6. rivin 1. solu</td>                                                 <td>6. rivin 3. solu</td>
</tr>
</table>

Korvattavat elementit

Korvattavat elementit eivät sisällä tekstiä tai muita elementtejä vaan ne korvataan esim. kuvalla tai jollakin muulla objektilla.

Kuva - img

Seuraavassa esimerkki img-elementin käytöstä.

Dokumentin rakenne puumaisena esityksenä

<p>
<img src="rakenne.jpg" alt="Dokumentin rakenne puumaisena esityksenä" title="Dokumentin rakenne" />
</p>

Objektit - object

Object-elementillä voi liittää dokumenttiin periaatteessa mitä tahansa objekteja (kuvia, videoita, animaatioita, ohjelmasovelluksia etc.). Jos selain ei tue haluttua tiedostoa niin object-elementin avulla voidaan määritellä vaihtoehtoisia esitystapoja.

Esimerkki SVG-kuvan liittämisestä object-elementin avulla. Vaihtoehtoisena esitysmuotona on gif-muotoinen kuva.

SVG-kuva

<p>
<object type="image/svg+xml" data="hazor1e.xml" title="SVG-kuva" >
<img src="hazor1e.gif" alt="SVG-kuva" />
</object>
</p>

Hyperlinkit - a

a-elementillä voidaan toteuttaa hypertekstilinkki joko toiseen dokumenttiin tai sitten saman dokumentin toiseen kohtaan. a-elementti pitää sijoittaa jonkun lohkotason elementit sisälle.

Tekstitason elementit

Tekstitason elementeillä ilmaistaan lyhyiden tekstin osien rakennetta. Tekstitason elementit sijaitsevat lohkotason elementtien sisällä. Seuraavaan on kerätty listaksi tekstitason elementit.

Dokumentin otsikkotietoihin sijoitettavat elementit

Metatieto - meta

meta-elementillä määritellään dokumenttiin liittyvää metatietoa

<meta name="description" 
  content="Tietoverkot työvälineenä - Tietotekniikan approbatur-kurssi Jyväskylän
	   yliopistossa tietotekniikan laitoksen ja avoimen yliopiston yhteisopetuksena " />
<meta name="keywords" 
  content="tietotekniikka, jyväskylän yliopisto, avoin yliopisto, 
	   tietotekniikan laitos, informaatioteknologia, opetus, kurssi" /> 
<meta name="author" content="Tommi Lahtonen" />

Linkkielementti - link

<link title="Oletustyyli" rel="StyleSheet" href="/appro2003.css" type="text/css" media="all" />
<link rel="icon" href="/favicon.ico" type="image/ico" />
<link rel="shortcut icon" href="/favicon.ico" />
<link rev="Made" href="http://www.iki.fi/hazor/" title="Tommi Lahtonen" />
<link rel="Copyright" href="/copyright.html" title="Copyright Notice" />
<link rel="Prev" href="../luento1/" title="Edellinen" />
<link rel="Next" href="../luento3/" title="Seuraava" />
<link rel="Start" href="../../" title="Tietoverkot työvälineenä" />
<link rel="Contents" href="../" title="Sisällys" />
<link rel="Parent" href="../" title="Edellinen taso" />
<link rel="First" href="../luento1/" title="Ensimmäinen" />
<link rel="Last" href="../luento10/" title="Viimeinen" />
<link rel="Search" href="/haku/" title="Haku" />

Muita elementtejä

Seuraavat XHTML:n osat ja elementit jäävät myöhemmille luennoille

Linkkejä

Käyttäjien kommentit

Kommentoi tätä sivua Lisää uusi kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/www/luennot/luento1/
© Antti Ekonoja (anjoekon@jyu.fi) <http://users.jyu.fi/~anjoekon/>
Tommi Lahtonen (tommi.j.lahtonen@jyu.fi) <http://hazor.iki.fi/>
Jukka Mäntylä (jmantyla@iki.fi) <http://www.iki.fi/jmantyla/>
2004-10-25 01:44:54
Informaatioteknologia - Jyväskylän yliopiston IT-tiedekunta ja avoin yliopisto