Când vine vorba de adăugarea de clase la elementele SVG, există două moduri de a proceda
Publicat: 2023-02-08Când vine vorba de adăugarea de clase la elementele SVG, există două moduri de a proceda. Primul și cel mai evident mod este să utilizați pur și simplu atributul className: var mySvg = document.querySelector('#my-svg'); mySvg.className = 'clasa mea'; Acest lucru va funcționa bine dacă aveți de-a face doar cu o singură clasă, dar dacă trebuie să adăugați mai multe clase , va trebui să utilizați API-ul classList: var mySvg = document.querySelector('#my-svg'); mySvg.classList.add('clasa-mea'); mySvg.classList.add('o altă clasă'); Dacă trebuie să eliminați o clasă, puteți utiliza metoda classList.remove(): mySvg.classList.remove('my-class'); Și, în sfârșit, dacă trebuie să comutați o clasă (adică să o adăugați dacă nu este prezentă sau să o eliminați dacă este), puteți utiliza metoda classList.toggle(): mySvg.classList.toggle('my-class') ;
Document Object Model (DOM) poate fi folosit pentru a reprezenta atât HTML, cât și SVG. Ca rezultat, este relativ simplu să le manipulați folosind Javascript. În această lecție, voi trece peste cum să folosiți atât un SVG inline, cât și unul extern . GitHub a oferit o varietate de exemple de cod, care pot fi găsite în partea de sus a acestei pagini. Când creați un SVG extern folosind același cod, conținutul elementului poate fi folosit în SVG-ul propriu-zis. Un SVG nu poate accesa documentul HTML încorporat în el și, prin urmare, nu poate vedea celelalte SVG-uri de pe pagină. Dacă împachetați codul cu CDATA, analiza XML va considera codul JS ca parte a XML.
Crearea și îndepărtarea elementelor sunt același lucru, doar în locuri diferite. Folosind metoda createElementNS() a documentului relevant, treceți numele etichetei și spațiul de nume al documentului relevant pentru a crea elemente. Pentru a elimina un element, trebuie să creați un nod text separat folosind createTextNode() și apoi să îl adăugați la element. Deoarece nu sunt în același document, ele pot fi utilizate în acest mod.
Atributul class atribuie următoarele nume de clasă etichetei svg>: clasă, clasă și clasă. Când definiți nume de clasă, utilizați fie o foaie de stil, fie un element local cu un nume de stil. Stilurile sunt create folosind clase, cum ar fi numele claselor.
Când vine vorba de stilul elementelor, HTML acceptă atributele „stil” și „clasă” specifice elementului, precum și atributele de clasă și stil ale HTML. Atributul „clasă” atribuie unui element un nume, care este apoi utilizat pentru a adresa elementului în limbajul de stilare. Atributele de stil sunt folosite de elemente pentru a specifica declarația lor CSS.
Proprietățile și valorile codului HTML sunt stocate în proprietatea CSS și valoarea SVG. Există câteva exemple care sunt foarte asemănătoare cu proprietățile HTML.
Puteți pune clasă pe SVG?
Este posibil să puneți clasă pe svg, dar nu este recomandat deoarece poate cauza probleme cu unele browsere.
Când adăugați un spațiu de nume HTML la SVG-ul dvs., puteți stila elementele cu CSS și puteți încărca SVG-ul folosind proprietatea *obiect străin, care va schimba modul în care apare.
Organizarea designului dvs. grafic cu SVG-uri
Fișierele SVG pot include până la trei elemente etichetate „*svg”. Procesul de organizare a designului grafic în grupuri logice este, de asemenea, simplu.
Poate fi aplicat Javascript la Svg?
Deoarece pot fi aliniate în HTML, imaginile noastre SVG pot fi manipulate folosind JavaScript. Putem anima părți ale unei imagini din cod, o putem transforma într-un mediu interactiv bazat pe date și putem genera grafică bazată pe date.
DRY este o modalitate excelentă de a vă face codul mai rapid, mai robust și mai puțin consumator de timp pentru scriere. În IE, nu este necesar să se bazeze pe un obiect eveniment global. Setați obiectul evenimentului la handlerul de evenimente. Deoarece variabilele x și y au fost modificate, nu sunt necesare alte modificări ale atributelor lor. Keydown și codurile de eveniment ASCII pe care le-am furnizat mai sus funcționează în toate browserele dacă am folosit numere impare și keydown în loc de apăsarea tastei. AddEventListner() poate fi folosit pentru a atașa handler-uri de evenimente la un element utilizând numai atributele onfoo = * ale handler-ului de evenimente în loc de a folosi atributele onfoo= * pentru a descrie ceea ce ar trebui să se întâmple. Funcția exterioară rulează numai după ce pagina s-a încărcat, deci nu este necesară referirea la niciun element.
Pentru a rezuma, există câteva lucruri de care trebuie să fii conștient în timpul acestei demonstrații. Eticheta svg> este folosită pentru a genera imaginea SVG. În imaginea SVG, este folosită o etichetă. Eticheta svg este situată în interiorul elementului body. O etichetă poate fi găsită în interiorul unui element. Un identificator este folosit pentru a face referire la eticheta *svg>. Când există o etichetă, atributul este folosit pentru a o referi. Atributul de animație din eticheta svg> este setat la „ease out”. attributeeaseOut trebuie setat la asta. Eticheta svg> are un atribut de lățime și înălțime care este setat la 100%, 100%. Următorul cod va crea o imagine folosind SVG și va defini atributul de animație aseaseout. XML xmlns=" http://www.w3.org/2000/svg" width=100% height=100% id=demo-svg svg poate fi folosit ca format. De asemenea, puteți interacționa cu fișierele SVG făcând clic pe ele folosind mouse-ul. Această metodă se realizează prin crearea unui nou element, inserarea lui în elementul corp și apoi părăsirea acestuia. Adăugând următorul cod la element, puteți face fișierul yoursvg mai lizibil. svg> poate fi folosit ca format de bază. *use xlink:href Această pagină poate fi accesată prin următoarea adresă URL: */svg. Procedând astfel, veți putea face un punct pe care se poate face clic pe SVG. Interfața cu utilizatorul poate fi accesată făcând clic de două ori pe un punct. Care sunt unele utilizări pentru interactivitatea SVG? O varietate de animații pot fi interactive, fiind și inițiate de utilizator. Când un utilizator face clic pe o imagine SVG, aceasta generează o animație care pare să fie în timp real. Un al treilea mod de a face site-ul dvs. să pară interactiv este să utilizați grafică SVG interactivă , care poate fi folosită pentru a adăuga iluzia interactivității în timp real între utilizator și site. Pentru a crea o imagine SVG interactivă, utilizați mai întâi eticheta svg>. Apoi, trebuie să includeți *svg În acest pas, trebuie să specificați atributul de animațieeaseOut. Pagina dvs. web va arăta exact la fel ca în demo dacă totul este setat corect. Există mai multe lucruri de care trebuie să țineți cont când vizionați acest demo. Pentru a începe, eticheta svg> trebuie să fie urmată de imagine. Al doilea element care trebuie adăugat este eticheta HTML'svg' din interiorul elementului body.
De ce ar trebui să utilizați Svg
Imaginile XML și vectoriale sunt utilizate în format SVG . Aceasta înseamnă că poate fi redimensionat fără a provoca degradare și nu depinde de rezoluție. CSS și/sau JavaScript pot fi folosite pentru a manipula și anima cu ușurință SVG. Prin urmare, utilizarea SVG are ca rezultat un timp de încărcare a paginii mai rapid (mai degrabă decât JPG, JPEG și PNG). JavaScript poate fi adăugat oriunde într-un document SVG între etichetele de deschidere și de închidere. În general, se recomandă ca un script să fie plasat la sfârșitul documentului pentru a preveni blocarea și a permite accesul complet la DOM. Dacă doriți să scrieți imagini SVG direct într-un document HTML, puteți face acest lucru utilizând *svg Codul care deschide imaginea SVG în codul VS sau IDE-ul dvs. preferat, îl copiază și îl lipește în elementul body al HTML-ului dvs. este necesar un document. Dacă totul a decurs fără probleme, demonstrația de mai jos ar trebui să arate la fel.