Leckék menü
CSS - intermediate - Lecke száma 11
Animációk és HTML grafikák
Miről szól ez a lecke?
Mozgást adhatunk az oldalunkhoz kód írása nélkül. Használhatunk gif képeket, de ebben a leckében CSS animációkat és SVG grafikát próbálunk ki. A CSS animációk a HTML elemek CSS tulajdonságait módosítják látható változásokat idézve elő. Az SVG grafikákat ki lehet egészíteni egy <animation> elemmel is. Ez a téma nagyon kiterjedt, egy leckéhez. Érdemes bővebben utánaolvasni később.

Új CSS szabály ebben a leckében:
@keyframes – Ezt a szabályt használjuk animáció meghatározására. Megadhatunk egy HTML elemhez vagy osztályhoz több állapotot, amelyet érintenie kell.

Új CSS tulajdonság ebben a leckében:
animation-name - ezzel a tulajdonsággal meghatározhatunk/kapcsolhatunk egy animációt egy HTML elemhez vagy CSS osztályhoz. A tulajdonság értékének egy létező animáció nevét kell adni.
animation-duration – ezzel a tulajdonsággal megadhatjuk az animáció időtartamát másodpercben vagy ezredmásodpercben.
animation-iteration-count – ezzel a tulajdonsággal megadhatjuk, hogy hányszor ismétlődjön az animáció. A lehetséges értékek számok, vagy végtelen (infinite), ha az animációt addig akarjuk ismételni, amíg az oldal nyitva van.
animation-direction – ez a tulajdonság irányát adja meg. Alapértelmezett értéke a normal, egyéb lehetséges értékek a reverse (fordított irányba való lejátszás), alternate (direkt majd fordított irányba való lejátszást, váltakozó irányt jelent) stb.

Új HTML címke:
<svg> </svg>- ezt a címkét arra használjuk, hogy közrefogjuk egy SVG (Scalable Vector Graphics) kép leírását.

Új SVG elemek:
<circle/> - egy kör leírását teszi lehetővé. A cx és cy tulajdonsággal megjelölhetjük a kör középpontját, az r nevű tulajdonsággal pedig megadhatjuk a kör sugarát. Ezeket a tulajdonságokat megadhatjuk a CSS fájlból is. Nincs lezáró része a címkének,
<line/> - egy vonalat ír le. A két végpont koordinátáit kell megadni az x1, x2, y1, y2 tulajdonságoknak. Az értékek itt is megadhatóak a címkén belül vagy CSS fájlból, nem kell lezáró rész.
<text> </text> - ezzel az elemmel szöveget adhatunk az ábrához. Az x és y tulajdonságokkal megadhatjuk a helyet, ahol a szöveg megjelenik.
<animate> - ezt a címkét használhatjuk, ha az SVG elemhez animációt szeretnénk adni. A címkéhez tartozó tulajdonságoknak kell értéket adni, ahhoz, hogy elérjük a változást, amit szeretnénk. Meg kell adni a tulajdonságot, amit változtatni szeretnénk (attributeName), az SVG elem azonosítóját (xlink: href). Szükséges meghatározni a kezdőértéket (from) és a végértéket (to) a megváltoztatott tulajdonsághoz, az időtartamot is megadhatjuk (dur). Tanulmányozd a példákat további információkért.

Új SVG tulajdonságok:
stroke – ezzel a tulajdonsággal adhatunk színt az SVG elemek körvonalainak.
stroke-width – ezzel a tulajdonsággal az SVG elemek körvonalainak vastagságát adhatjuk meg.
fill – ezzel a tulajdonsággal az SVG elemek kitöltési színét adhatjuk meg.

Kiegészítések:
Az SVG a Scalable Vector Graphics rövidítése, jelentése méretezhető vektorgrafikus ábrázolás, azaz könnyen újraméretezhető ábra.
Ha SVG rajzot használsz ellenőrizd, melyik böngésző tudja kezelni a kódodat.
CSS animációkat is használhatunk az SVG elemek animálására, de nem minden tulajdonságot tudunk így elérni.
Más SVG animáció típusok/címkék is vannak az <animate>-en kívül mint az <animateMotion> vagy az <animateTransform>.

Példa CSS animációra:


A fenti példában a mondat bekezdésként van megjelölve. A change nevű animációt alkalmazzuk a bekezdésre, 10 másodpercig tart.
Az animáció öt lépésben módosítja a szöveg színét a zöld különböző árnyalataira. A szöveg mérete is nő.

Példa SVG rajzra:


Ebben a példában két vonalat és egy kört rajzolunk egy 200x200 pixeles rajzfelületre. Az elemek pozícióit a HTML fájlban határozzuk meg, minden más beállítást a CSS fájlból állítunk. A HTML fájlból is beállíthatóak.

A rajzfelületnek háttere és kerete van, ugyanúgy adhatjuk meg, ahogy minden más HTML elemnek az eddigi leckékben.
A vonalak pirosra vannak színezve és 2 pixel szélesek. A körnek nincs kitöltése, csak körvonala. Ezeket a tulajdonságokat csak SVG elemekre alkalmazhatjuk.
A lila számok a rajzfelület négy sarok koordinátáit jelentik és segítenek az elemek koordinátáinak meghatározásában.

Példa az SVG animációra:


A fenti példában a körhöz azonosítót adtunk, hogy hivatkozhassunk rá az animációból.
Az első animáció a kör sugarára hivatkozik, az r tulajdonságra: 50-ről emeljük az értékét 90 pixelre 5 másodperc alatt. Az animáció után a sugár visszaesik 50 pixelre, ha nem rendeljük a freeze értéket a fill tulajdonsághoz.
A második animáció egy vonal vastagságára vonatkozik. A helyes hivatkozás érdekében az egyik vonalnak azonosítót adunk. A vastagság 1-től 10 pixelig változik. Van egy plusz tulajdonság ebben az animációban: a begin tulajdonsággal értük el, hogy a második animáció az első befejezése után folytassa.

Feladatok
1. A index.html fájlban korábban egy képgalériát helyeztünk el. Adjon animációt ezekhez a képekhez, az opacitást 1-rõl 0,2-re változtatva 10 másodperc alatt, végtelenül és váltakozva.
Tekintsd meg az eredményt
2. A toplangs.html fájlban a tartalomszakasz végén a táblázat után illesszen be egy svg-rajzot a leírt lépéseknek megfelelõen :
; Adjon hozzá egy h3 címet a szöveghez: Top 3 browsers 2018
A h3 alatt adja hozzá a SVG grafikus a fájlhoz. Formázza 500 képpont szélességre, 300 képpontos magasságra, adjon hozzá háttérszínt és egy finom szegélyt.
3 körök a következõ középpontokkal és sugarakkal: (70, 70, 60), (250, 150, 100), (410, 150, 60), (430, 230, 50). Töltse ki a köröket a kiválasztott színnel, használja a kitöltési tulajdonságot. Határokkal kell rendelkezniük (stroke és stroke-width). Mindegyikhez adjon meg különbözõ azonosítót, így azokat a CSS fájlban találhatja meg.
A szövegek hozzáadása Chrome, Firefox és Opera a körökben, a< szöveg>; elem. Adjon hozzá vastag tulajdonságot és méretet (betûméret) a szöveghez.
Tekintsd meg az eredményt
3. Animálja a korábban létrehozott rajzot: minden körnek 5 másodperc alatt meg kell változtatnia a háttérszínét, két színt kell adnia (az attribútumokhoz) -hez. Az animációk egymás után jönnek.
Tekintsd meg az eredményt
Kérdőív
1. Ha SVG-ben rajzolni akarunk egy vonalat, meg kell adnunk:
2. Mi a neve annak a CSS-szabálynak, amelyet a HTML-elemek animálásához használunk?
3. Melyik attribútumot használják a színek hozzáadásához egy SVG-rajz szövegéhez?
4. Melyik állítás igaz a fenti animációról?
<circle id="c1" cx="100" cy="100" r="50"/>
<animate
xlink:href="#c1"
attributeName="fill"
from="blue"
to="green"
dur="5s" >
Exclamation mark Ez az oldal sütiket használ. Ha folytatod böngészést, elfogadod azok használatát! Elfogadom