Tieto- ja viestintätekniikan käyttötaito 2.0 → Verkkosivut ja ohjelmointi

© TvtDok

Verkkosivut ja ohjelmointi

  1. HTML:n perusteet
  2. CSS:n perusteet
  3. JavaScriptin perusteet

Verkkosivut ja ohjelmointi

HTML:n perusteet

Tässä luvussa

Internetin käytetyin osa, World Wide Web (WWW), koostuu verkkosivuista. Tässä luvussa opiskellaan verkkosivujen tekemistä HTML-merkintäkieltä kirjoittamalla. Itse tehtyjä verkkosivuja voidaan katsoa omalta tietokoneelta verkkoselaimella. Jotta sivut kuitenkin näkyisivät kaikille internetissä, tarvitaan verkkosivuille palvelintilaa. Palvelintilaa tarjoavat useat yritykset, muun muassa teleoperaattorit. Useat yritykset (esimerkiksi nettihotelli.fi) tarjoavat melko edullisesti myös nettihotellipalveluita. Niissä on mahdollista saada verkkosivujen palvelintilan lisäksi oma domain eli verkkotunnus, jolloin verkkosivun WWW-osoitteeksi eli verkko-osoitteeksi voidaan valita omavalintainen osoite, esimerkiksi www.etunimisukunimi.net.

Tässä jaksossa käsitellään kolmea verkkosivujen tekemiseen liittyvää osa-aluetta: HTML:ää, CSS:ää ja JavaScriptiä. HTML (HyperText Markup Language) on verkkosivujen hypertekstin merkintäkieli eli ns. rakennustyökalu verkkosivujen tekemiseen. CSS (Cascading Style Sheet) tarkoittaa verkkosivun tyyliohjeita eli sen avulla määritellään verkkosivun ulkoasu. Toisin sanoen HTML-merkintäkielellä tehdään verkkosivuille rakenne ja sisältö, mutta CSS:n avulla verkkosivujen muotoilu ja asettelu saadaan halutunlaiseksi. JavaScript on sen sijaan ohjelmointikieli, jolla voidaan lisätä verkkosivuille toiminnallisuutta.

HTML

HTML:n uusin versio on HTML5, jota myös tässä oppimateriaalissa käytetään. HTML-tiedoston tiedostopääte on .html. Kun HTML-tiedostoa tarkastellaan verkkoselaimella, tiedostosta tulee verkkosivu. HTML-tiedostoja voidaan tarkastella millä tahansa verkkoselaimella. HTML-tiedoston nimessä ei saa olla ääkkösiä, erikoismerkkejä tai välilyöntejä, sillä ne voivat aiheuttaa ongelmia selailussa joillakin selaimilla.

Syntaksi

Syntaksi tarkoittaa HTML-merkintäkielen ns. kielioppia. Koska tietokoneet ymmärtävät rajallisesti kirjoitettua tekstiä, täytyy aluksi määritellä yhteiset säännöt, joiden mukaan tiettyjä asioita merkitään ja ilmaistaan. Jotta tietokone ymmärtäisi kieltä, tulee kielen syntaksin olla oikein. Koodin syntaksin oikeellisuus voidaan tarkistaa validaattorilla eli syntaksin tarkastajalla.

Elementit

HTML-tiedosto koostuu tekstistä, jossa dokumentin rakenne merkitään elementeillä. Elementit merkitään tagien väliin. Elementeillä on aina aloitus- ja lopetustagi, joiden välissä on varsinainen elementin sisältö. Esimerkiksi ensimmäisen tason otsikko merkitään h1-elementillä seuraavasti:

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

<h1> on aloitustagi ja se avaa elementin. </h1> on lopetustagi ja se sulkee elementin. Lopetustagissa on aina /-merkki. Elementtien välillä ja tekstin keskellä saa olla vapaasti välilyöntejä, sarkaimia ja rivinvaihtoja. Niillä ei ole merkitystä elementin sisällön ulkoasuun. Jos siis tekstiin halutaan esimerkiksi enemmän kuin yksi välilyönti peräkkäin, täytyy ylimääräiset välilyönnit merkitä erikoismerkeillä (esimerkiksi välilyönnin koodi on &nbsp;).

Jos elementillä ei ole tekstimuotoista sisältöä, lopetustagi voidaan lyhentää suoraan aloitustagiin. Esimerkiksi pakotettu rivinvaihto voidaan merkitä kokonaisuudessaan <br />. Myös kuvaelementti voidaan päättää suoraan aloitustagiin <img src="kuva.jpg" alt="kuva" />.

Useampi sisäkkäinen elementti tulee aloittaa ja lopettaa siten, että sisempi avattu elementti suljetaan ennen ulomman elementin sulkemista. <p><strong>Moi</strong></p> on siis oikein, mutta <p><strong>Hei</p></strong> on taas väärin, sillä ulompi p-elementti on suljettu ennen sisempää strong-elementtiä.

Yksinkertainen HTML-dokumentti

tekstieditori

Notepad++:n syntaksiväritys

HTML-merkintäkieltä voidaan kirjoittaa tekstieditoriohjelmalla (ei kuitenkaan tekstinkäsittelyohjelmalla). Käyttöjärjestelmiin valmiiksi asennetuista ohjelmista (Windows-koneilla Notepad, MacOS-koneilla Texturi) on yleensä karsittu ylimääräiset ominaisuudet pois, kuten syntaksiväritys ja automaattinen sisennys. Syntaksiväritys tarkoittaa, että elementtimerkintöjä selkeytetään erilaisin värimerkinnöin ja automaattisessa sisennyksessä elementit sisennetään koodin lukemisen helpottamiseksi. Nämä ovat merkintäkielen kirjoittamista helpottavia ominaisuuksia (kts. kuva), jotka ovat yleensä internetistä saatavissa ilmaisissa tekstieditoriohjelmissa.

Pakolliset ominaisuudet omaava peruspohja HTML-sivusta on seuraava:

1  <!DOCTYPE html>
2  <html>
3  <head>
4  <meta charset="utf-8”>
5  <title>Otsikko</title>
6  </head>
7  <body>
8
9     <h1>Ensimmäisen tason otsikko</h1>
10       <p>
11          Tämä on tekstikappale. <br />
12          Tähän tulee myös kuva myöhemmin.
13       </p>
14
15 </body>
16 </html>
		  

Ilmaisia tekstieditoriohjelmia

Rivillä 1 kerrotaan tietokoneelle, että tiedosto on HTML-tyyppinen dokumentti. Seuraavalla rivillä 2 on html-aloitustagi. Verkkosivun koko sisältö on html-elementin sisällä. Html-elementin lopetustagi on tiedoston viimeinen tagi rivillä 16. Riviltä 3 alkaa head-elementti, joka sisältää tekstin merkistön koodaustavan (utf-8) ja <title>-tageilla merkityn verkkosivun otsikon. Otsikko näkyy verkkoselaimen välilehdellä. Otsikko kannattaa valita informatiiviseksi, sillä pidemmät otsikot eivät näy kokonaan välilehdellä. Lisäksi head-elementissä voidaan kertoa tietokoneelle HTML-tiedoston käyttämä tyylitiedosto, erilaiset muut linkit ja verkkosivulla olevat skriptit. Head-elementti päättyy riville 6. Riviltä 7 alkaa varsinaisen verkkosivun rakentaminen body-tagilla. Kaikki verkkosivuilla näkyvät elementit sijoitetaan body-tagien väliin.

HTML-merkintäkieltä kirjoittaessa on suositeltavaa, että omat elementit eli blokit sisennetään omalle tasolleen (em. esimerkissä siis otsikko ja tekstiosio ovat sisennettynä, koska ne ovat samantasoisia elementtejä eli omissa blokeissaan). Tämä tekee koodista helpommin luettavampaa.

Tutustu alla oleviin hyödyllisiin HTML5-elementteihin ja kokeile niitä HTML-editorissa (avautuu uuteen ikkunaan).

Hyödyllisimmät HTML5-elementit

h1 Ensimmäisen tason otsikko eli pääotsikko, yleensä vain yksi per verkkosivu.

h2, h3 Toisen ja kolmannen tason otsikko

p Normaali tekstikappale

ul Järjestämätön lista (merkitty luettelo, listamerkit tulevat automaattisesti)

ol Järjestetty lista (numeroitu luettelo, listanumerot tulevat automaattisesti)

li Järjestämättömän tai järjestetyn listan lista-alkio (sijoitetaan ul- tai ol-elementin sisälle)

a Linkki joko verkkosivuston sisälle tai toiseen internetosoitteeseen. Linkkielementti ei voi esiintyä itsekseen, vaan sen tulee olla jonkun lohkotason elementin (esimerkiksi p, li, td tai div) sisällä.

img Kuva. Kuvaelementti tulee olla jonkun lohkotason elementin (esimerkiksi p, li, td tai div) sisällä.

table Taulukko

tr Taulukon rivi (sijoitetaan table-elementin sisälle)

th Taulukon otsikkosolu (sijoitetaan tr-elementin sisälle)

td Taulukon solu (sijoitetaan tr-elementin sisälle)

strong Korostuselementti, jolla saadaan lihavoitua tekstiä. Strong-elementti tulee olla jonkun lohkotason elementin (esimerkiksi p, li, td tai div) sisällä.

em Korostuselementti, jolla saadaan kursivoitua tekstiä. Em-elementti tulee olla jonkun lohkotason elementin (esimerkiksi p, li, td tai div) sisällä.

hr Vaakatasoinen viiva, syntaksi <hr /> eli lopetustagi voidaan lyhentää suoraan aloitustagiin

br Pakotettu rivinvaihto, syntaksi <br /> eli lopetustagi voidaan lyhentää suoraan aloitustagiin. Rivinvaihto tulee olla jonkun lohkotason elementin (esimerkiksi p, li, td tai div) sisällä.

span Span-elementtiä käytetään merkkaamaan tietty muotoilu (esimerkiksi tekstin väri) jollekin tekstin osalle esimerkiksi p-elementin sisällä. Span-elementti tulee olla aina jonkun lohkotason elementin (esimerkiksi p, li, td tai div) sisällä.

Lisää HTML5-elementtejä löytyy esimerkiksi Mozillan kirjoittamasta html-dokumentaatiosta.

Tehtävä

Aloitetaan CV:n verkkoversion tekeminen:

  1. Avaa tekstieditori ja liitä sinne HTML-tiedostopohja täältä. Tallenna tiedosto html-nimiseen kansioon nimellä etusivu.html. Tallennettuasi tiedoston, voit avata sen verkkoselaimella.
  2. Muokkaa etusivu.html-tiedostoa tekstieditorissa <title>-tagin, otsikko-elementin ja tekstikappale-elementin osalta. Täydennä esittelyteksti itsestäsi etusivulle.

Attribuutit

Elementeillä voi olla ominaisuuksia eli attribuutteja, joilla määritellään elementtiin liittyviä ominaisuuksia. Esimerkiksi kuva lisätään img-elementillä, jolle voidaan määritellä osoite, kuvan vaihtoehtoinen teksti ja kuvan otsikko. Osoite määritellään src-attribuutilla, vaihtoehtoinen teksti alt-attribuutilla ja kuvan otsikko title-attribuuteilla seuraavasti:

<img src="kuvat/kuva.jpg" alt="Kuva tietokoneesta" title="Tietokone" />

Attribuuttien arvot siis merkitään lainausmerkkeihin =-merkin jälkeen. Elementtien ominaisuuksien lukumäärää ei ole rajoitettu.

Luokka

Ääkkösten käyttö ei ole suositeltavaa luokkien nimissä.

Luokka eli class on attribuutti. HTML-elementit voidaan määrittää kuuluvaksi tiettyyn luokkaan. Luokka-attribuutin avulla jokainen saman luokan elementti voi esimerkiksi saada saman muotoilun. Luokka-attribuutti voidaan antaa mille tahansa elementille. Esimerkiksi tekstikappale-elementille p voidaan antaa luokka, jonka nimi on "isompiteksti", asettamalla attribuutiksi class:

<p class="isompiteksti">Tämä teksti on kirjoitettu isommalla fontilla.</p>

Luokan nimeä määritettäessä isoilla ja pienillä kirjaimilla on väliä. Tästä johtuen "isompiteksti", "ISOMPITEKSTI" ja "IsompiTeksti" ovat kaikki eri luokkia. Luokkia käyttäviä elementtejä voidaan muotoilla CSS:n avulla. CSS:stä kerrotaan enemmän seuraavassa luvussa.

Tehtävät

Jatka CV:n työstämistä. Esimerkkiratkaisu auttaa sinua hahmottamaan tehtävänantoa.

Muista tallentaa HTML-tiedosto aina muutosten jälkeen ja päivittää verkkosivu nähdäksesi muutokset myös verkkoselaimessa.

  1. Lisää kaksi vapaavalintaista kuvaa etusivulle (tekijänoikeudet huomioiden). Tallenna kuvat samaan hakemistoon etusivu.html-tiedoston kanssa.
  2. Luo samasta HTML-pohjasta koulutus.html-niminen tiedosto. Lisää tiedostoon ansioluettelosi Koulutus-osio. Tälle sivulle voit lisätä myös aiemman työkokemuksesi.
  3. Luo harrastukset.html-niminen tiedosto. Lisää tiedostoon ansioluettelosi Harrastukset-osio.

Div-elementit

Div-elementin nimi tulee sanasta division (osa / osa-alue) ja niitä merkitään <div>-tagilla. Div-elementtejä käyttämällä verkkosivu voidaan jakaa erilaisiin osiin, mikä helpottaa esimerkiksi muotoilujen ryhmittelyä. Div-elementtien avulla voidaan tehdä esimerkiksi kappalemuotoiluja ja tekstikehyksiä. Div-elementtejä voidaan laittaa myös sisäkkäin.

<div class="sisalto">
  <h3>Otsikko</h3>
    <p>Ja tähän tulee tekstiä.</p>
</div>

<div class="sivupalkki">
  <h3>Toinen otsikko</h3>
    <p>Ja tähän tulee myös tekstiä.</p>
</div>
		  
<div class="kokonaisuus">

  <div class="alkupuhe">
     <h1>Pääotsikko</h1>
       <p>Alkuteksti kotisivuilleni</p>
  </div>

  <div class="tarkempitieto">
     <h2>Toinen otsikko</h2>
       <p>Tähän kirjoitan lyhyesti, kuka olen.</p>
  </div>

</div>
		  

HTML-sivu (harmaa), johon sisällytetty kolme div-elementtiä: Ensimmäisen div-elementin (vihreät reunukset ja valkoinen pohja) sisällä on rinnakkaiset div-elementit 2 ja 3.

divit

Linkittäminen

Linkkielementin rakenne on seuraavanlainen

<a href="linkin_osoite" title="Linkin otsikko">Linkin teksti</a>. Osoitteessa ei saa olla ääkkösiä, erikoismerkkejä tai välilyöntejä. Linkin otsikko (title) näkyy, kun verkkoselaimessa hiiren kursori viedään linkin päälle.

Verkkosivut koostuvat harvoin vain yhdestä HTML-sivusta. HTML eli HyperText Markup Language on nimensä mukaisesti on tarkoitettu hypertekstin eli toisiinsa linkitetyn tekstin merkitsemiseen. Verkkosivut voidaankin ajatella hypertekstinä, sillä ne sisältävät linkkejä toisiin verkkosivuihin. Verkkosivusto rakennetaan tekemällä useita verkkosivuja, joista viitataan toisiinsa linkeillä (a-elementti). Useasta verkkosivusta koostuvan verkkosivuston pohjaksi on järkevää luoda hakemistorakenne. Kaikkien HTML-tiedostojen ei ole hyvä sijaita samassa hakemistossa, vaan loogisesti jaoteltuina eri hakemistoihin. Eri hakemistoihin ja hakemistoissa sijaitseviin HTML-tiedostoihin viittaaminen tapahtuu seuraavalla periaatteella:

Absoluuttiseen viittaukseen merkitään viitattavan kohteen koko verkko-osoite. Absoluuttista viittausta kannattaa käyttää vain oman sivuston ulkopuolelle kohdistuvissa viittauksissa. Absoluuttinen viittaus on riippumaton sivusta tai sijainnista, jossa viittaus tehdään. Absoluuttista viittaamista voidaan verrata esimerkiksi paikannukseen, jossa maantieteellisiksi koordinaateiksi määritellään 62°14′25″N, 025°44′40″E. Koordinaatit eivät ole riippuvaisia siitä, missä ne mainitaan.

Lisätietoa

Joskus koodia kirjoittaessa tulee eteen tilanne, että HTML-rivejä tulee ottaa pois (jotta dokumentti toimii oikein tai ne eivät muuten näy dokumentissa), mutta samalla se tulisi säilyttää tiedostossa tallessa esimerkiksi myöhempää käyttöä varten. Tämä on helpointa kommentoimalla koodirivi piiloon. HTML-dokumentissa voit asettaa kommentteja käyttämällä <!-- ja --> -koodeja.

Absoluuttisia viittauksia:

Toisin kuin absoluuttinen viittaus, suhteellinen viittaus on riippuvainen sijainnista, jossa viittaus tehdään. Käyttäen aiempaa paikannusvertausta, suhteellinen viittaus sijaintiin liittyen voisi olla esimerkiksi "viisisataa metriä etelään sieltä, missä nyt olet". Verkkosivustolla suhteellisella viittauksella tarkoitetaan verkkosivun sijaintia hakemistorakenteessa omalla sivustolla. Suhteellisten viittausten hyötyjä ovat viittausten toimiminen millä tahansa palvelimella sekä viittausten pituus, sillä ne ovat lyhyempiä kuin absoluuttiset viittaukset.

Suhteellisia viittauksia:

Tehtävät

Jatka CV:n työstämistä. Esimerkkiratkaisu auttaa sinua hahmottamaan tehtävänantoa.

  1. Luo aloittamaasi etusivu.html-tiedostoon neljä div-elementtiä, joille määritä luokat "navigointi", "teksti", "kuvat" ja "alaviite".
  2. Sijoita navigointi-luokan div-elementti ensimmäiseksi heti body-aloitustagin jälkeen. Sijoita tämän jälkeen teksti-, kuvat- ja alaviite-luokan div-elementit.
  3. Luo navigointi-luokan div-elementtiin lista, johon teet kohdiksi "Etusivu" (tämä on etusivu.html-tiedostosi), "Koulutus" ja "Harrastukset". Laita jokainen listan teksti linkiksi suhteellisella viittauksella.
  4. Lisää teksti-luokan div-elementin sisälle aiemmin kirjoittamasi esittelyteksti.
  5. Lisää kuvat-luokan div-elementin sisälle aiemmin lisäämäsi kuvat.
  6. Lisää alaviite-luokan div-elementtiin tekstinä ©, oma nimesi ja vuosiluku.

Yhteenveto