Tredun ohjelmistokehittäjien kurssimateriaaleja
HTML lisää kuvan verkkosivulle, mutta sitä voi käsitellä monella tavalla CSS:llä. Verkkosivuille sopivat kuvaformaatit ovat jpg, png, gif, svg ja WebP, joskaan viimeisin ei toimi välttämättä kaikilla selaimilla.
Kuvan kokoa voi säätää eri tavoin. Sille voi antaa height ja width -ominaisuuksilla muuttumattoman koon pikseleinä.
Kuvan leveydelle voi antaa myös prosenttiarvon. Silloin se suurenee tai pienenee ruudun tai ympäröivän elementin koon mukaan.
Nämä ominaisuudet voi myös yhdistää, jolloin kuva voi pysyä isoilla ruuduilla saman kokoisena, mutta pienenee jonkin verran pienillä ruuduilla.
.castle {
width: 500px;
max-width: 80%;
}
Kuvan oletus on, että sillä on diplay: inline;. Se siis vie vain sen verran tilaa, kuin se välttämättä tarvitsee, eikä se mene automaattisesti omalle rivilleen. Usein haluamme laittaa kuvan keskelle ruutua. Se onnistuu seuraavasti:
.img {
display: block;
margin: auto;
}
Kuviin pätee kaikki samat asiat kuin muihin elementteihin. Kuvalle voi siis antaa reunukset ja niitä voi muokata. Niille voi antaa leveyttä, voi muokata väriä ja kulmia. Sille voi myös tehdä varjoefektejä. Kulmien pyöristys toimii koodilla:
.mydiv {
border-radius: 10px;
}
filter ominaisuudella voi tehdä kuvaan efektejä (periaatteessa on hyvä ajatus muokata kuva valmiiksi esimerkiksi PhotoShopilla, mutta aina se ei ole mahdollista).
Eri filttereitä ovat mm. greyscale, sepia, blur brightness, saturate ja invert. Useimmat näistä ottavat jonkin prosenttiarvon, jonka perusteella ne muokkaavat kuvaa.
Jos kuvan haluaa sävyttää jollakin värillä, taustan väriksi laitetaan haluttu värisävy ja sen päälle laitetaan kuva, jonka läpinäkyvyyttä vähennetään. Tämä vaatii sen, että kuva on jonkin toisen elementin sisällä.
<section class="castle">
<img src="hiekkalinna.jpg" alt="Hiekkalinna"/>
</section>
.castle {
background-color: rgb(207, 67, 67);
width: 500px;
max-width: 80%;
}
.castle img {
width: 100%;
height: auto;
opacity: 0.6;
}
Jollekin elementille voi asettaa taustavärin, mutta sille voi asettaa myös taustakuvan. Yksinkertaisimmillaan taustakuva asetetaan seuraavasti:
.mydiv {
background-image: url("myimage.jpg");
}
url(‘path/to/image.jpg’) määrittää kuvan sijainnin ja kertoo tiedoston nimen.
Oletuksena taustakuva toistuu vaakasuunnassa ja pystysuunnassa täyttääkseen koko elementin. Voit hallita toistokäyttäytymistä background-repeat -ominaisuudella.
.mydiv {
background-image: url('myimage.jpg');
background-repeat: no-repeat; /* Estää toistamisen */
}
Muita arvoja:
Voit määrittää taustakuvan sijainnin käyttämällä background-position -ominaisuutta.
.mydiv {
background-image: url('path/to/image.jpg');
background-repeat: no-repeat;
background-position: center center; /* Kuva sijoitetaan keskelle */
}
Sijaintiarvot voivat olla esimerkiksi:
Arvoja voidaan myös käyttää pikseleinä tai prosentteina, kuten background-position: 50% 50%;.
Taustakuvan kokoa voidaan hallita background-size -ominaisuudella.
.mydiv {
background-image: url('path/to/image.jpg');
background-size: cover; /* Täyttää elementin säilyttäen kuvasuhteen */
}
Muita arvoja:
Voit myös määrittää tarkat mitat, esimerkiksi background-size: 100px 200px;.
background-attachment -ominaisuudella voit määrittää, pysyykö taustakuva paikoillaan, kun sivua vieritetään.
.mydiv {
background-image: url('path/to/image.jpg');
background-attachment: fixed; /* Kiinnittää taustakuvan ikkunan näkymään */
}
Arvot:
Voit yhdistää kaikki taustakuvan ominaisuudet background -lyhytkäskyllä.
.mydiv {
background: url('path/to/image.jpg') no-repeat center center / cover fixed;
}
Tämä lyhytkäsky kattaa kaikki edellä mainitut ominaisuudet: