Skalowalna grafika wektorowa w formacie HTML5. Skalowalna grafika wektorowa (SVG) — znaczniki grafiki eksploracyjnej

Grafika wektorowa jest szeroko stosowana w druku. Ale w przypadku stron internetowych możemy go również używać z SVG ( Skalowalna grafika wektorowa - skalowalna grafika wektorowa). Zgodnie ze specyfikacją W3.org, SVG definiuje się jako:

Język służący do opisu grafiki dwuwymiarowej w formacie XML. SVG umożliwia użycie trzech typów obiektów: kształtów grafiki wektorowej (na przykład ścieżek składających się z linii prostych i krzywych), obrazów i tekstu.

Mimo że od sierpnia 2011 r. SVG znajduje się w rekomendacjach W3C, ta technologia praktycznie nie stosowany w projektach internetowych, chociaż ma szereg zalet w porównaniu z bitmapami. W tej serii tutoriali przedstawimy, jak pracować z elementami SVG na stronach internetowych.

Korzyści z SVG

Niezależność uchwały

Obrazy rastrowe zależą od rozdzielczości. Grafika staje się nieprzedstawialna po przeskalowaniu do określonej skali. W przypadku grafiki wektorowej taka sytuacja jest w zasadzie niemożliwa, ponieważ wszystko jest reprezentowane przez wyrażenia matematyczne, które są automatycznie przeliczane przy zmianie skali, a jakość zostaje zachowana w każdych warunkach.

Zmniejszenie liczby żądań HTTP

SVG można osadzić bezpośrednio w dokumencie HTML za pomocą tagu svg, dzięki czemu nie trzeba wyświetlać monitu przeglądarki o wyświetlenie grafiki. Takie podejście ma dobry wpływ na charakterystykę ładowania witryny.

Style i skrypty

Osadzanie tagu svg ułatwia także stylizowanie grafiki za pomocą CSS. Możesz zmieniać właściwości obiektu, takie jak kolor tła, przezroczystość, obramowania i tak dalej. Podobnie grafiką można manipulować za pomocą JavaScript.

Łatwe do edycji i animacji

Obiekty SVG można animować przy użyciu CSS lub JavaScript. Ponadto obiekty SVG można modyfikować za pomocą edytora tekstu.

Mniejszy rozmiar pliku

SVG ma mniejszy rozmiar pliku w porównaniu do grafiki rastrowej.

Podstawowe kształty SVG

Zgodnie ze specyfikacją możemy narysować kilka podstawowych kształtów: linię, polilinię, prostokąt, okrąg, elipsę. Wszystkie elementy muszą być wstawione w tagu ... . Rozważ szczegółowo podstawowe elementy.

Linia

Element służy do rysowania linii w formacie SVG . Rysuje odcinek, dla którego należy zdefiniować dwa punkty: początek i koniec.

Początek odcinka określony jest przez atrybuty x1 i y1, a punkt końcowy przez współrzędne w atrybutach x2 i y2.

Istnieją także dwa inne atrybuty (obrys i szerokość obrysu), które służą odpowiednio do określenia koloru i szerokości linii.

Ten obiekt jest podobny do , ale z elementem Możesz narysować wiele linii jednocześnie.

Element Zawiera atrybut punktów, który służy do określenia współrzędnych punktów.

Prostokąt renderowany za pomocą elementu . Musimy określić szerokość i wysokość.

Aby narysować okrąg, użyj elementu . W poniższym przykładzie tworzymy okrąg o promieniu 100, który jest zdefiniowany w atrybucie r:

Pierwsze dwa atrybuty cx i cy definiują współrzędne środka. W powyższym przykładzie ustawiliśmy obie współrzędne na 102. Wartość domyślna to 0.

Aby narysować elipsę, użyj elementu . Działa podobnie jak okrąg, ale możemy konkretnie ustawić promienie x i y za pomocą atrybutów rx i ry:

Element Wyświetla kształty wielościenne, takie jak trójkąt, sześciokąt i tak dalej. Na przykład:

Korzystanie z edytora grafiki wektorowej

Renderowanie prostych obiektów SVG do formatu HTML jest łatwe. Jednakże w miarę wzrostu złożoności obiektu praktyka ta może wymagać wykonania dużej ilości pracy.

Ale możesz użyć dowolnego edytora grafiki wektorowej (na przykład Adobe Ilustrator Lub Inkscape) do tworzenia obiektów. Jeśli posiadasz takie narzędzie, znacznie łatwiej jest narysować w nich potrzebne obiekty, niż zakodować grafikę w znaczniku HTML.

Polecenia dotyczące grafiki wektorowej można kopiować z pliku do dokumentu HTML. Możesz też osadzić plik .svg, używając jednego z następujących elementów: embed , iframe i object .

Wynik będzie taki sam.

Obsługa przeglądarki

SVG ma dobrą obsługę w większości nowoczesnych przeglądarek, z wyjątkiem IE w wersji 8 i wcześniejszych. Ale zadanie można rozwiązać za pomocą biblioteki JavaScript. Dla ułatwienia możesz użyć narzędzia ReadySetRaphael.com do konwersji kodu SVG do formatu Raphael.

Najpierw ładujemy i dołączamy bibliotekę do dokumentu HTML. Następnie ładujemy plik .svg, po wczytaniu kopiujemy i wklejamy powstały kod do funkcji:

W tagu body umieszczamy następujący element div o identyfikatorze rsr.

I wszystko jest gotowe.

W następnym samouczku z tej serii przyjrzymy się, jak stylizować obiekty SVG w CSS.

(Artykuł przeglądowy po konferencji dotyczącej rozwoju oprogramowania w Jekaterynburgu i innych prezentacjach. Wersja wideo raportu w Jekaterynburguzobacz techdays.ru )

Co to jest HTML5 Canvas i SVG?

Płótno HTML5

– element stanowi płótno do renderowania grafiki bitmapowej. W rzeczywistości jest to pusty blok podane wymiary, na którym można rysować korzystając ze specjalnych API dla JavaScript.

API zawiera 45 specjalnych metod i 21 atrybutów używanych do wyświetlania prymitywów graficznych, ustawiania stylów, transformacji, uzyskiwania dostępu do poszczególnych pikseli, wyświetlania obrazów i filmów.

Ja element jest zdefiniowany bezpośrednio w specyfikacji HTML5. API dla niego opisano w osobnym dokumencie - Kontekst HTML Canvas 2D.

SVG

Muzyka może być zabawą

Piękna gra polegająca na wizualizacji muzyki (http://musiccanbefun.edankwan.com/).

Przykłady schematów SVG

Schemat ludzkiego szkieletu, układ okresowy pierwiastków chemicznych i układ oddechowy (http://ie.microsoft.com/testdrive/Graphics/RealWorldDataAndDiagrams/Default.xhtml).

Mapy Yandexa

Bliższym przykładem z życia wziętym jest użycie SVG podczas renderowania tras (jeśli przeglądarka to obsługuje). Zobacz także wykład „Mapy i SVG” z naszego obozu HTML5.

Więcej przykładów:

  • Piękno sieci http://www.beautyoftheweb.com/ - prawdziwe strony z prawdziwego świata
  • Dev: Plugged http://contest.beautyoftheweb.com/ - projekty biorące udział w konkursie na aplikację HTML5

Różnica między Canvas a SVG

W różnych sytuacjach do dynamicznego renderowania grafiki lepiej sprawdzi się Canvas lub SVG – do tego zagadnienia powrócimy na koniec. W międzyczasie skupmy się na kluczowych różnicach między jednym a drugim:

Płótno SVG
Format Raster Wektor
skalowanie
Dostęp

Indywidualny dostęp do pikseli (RGBA)

Dostęp do poszczególnych elementów (DOM)

Indeksowalność i dostępność

Widoczny jest tylko końcowy raster (nie można wybierać kształtów, tekstu itp.) - jest to niekorzystne dla dostępności

Możesz zobaczyć strukturę (na przykład wyciągnąć cały tekst)

Stylizacja

Style wizualne są ustawiane podczas renderowania za pośrednictwem interfejsu API

Style wizualne są ustawiane według atrybutów, możesz dołączyć CSS

Programowanie

JS API do pracy z prymitywami

DOM do pracy z elementami

Aktualizacja

Aby zaktualizować - przerysuj lub całkowicie przerysuj

Istnieje możliwość zmiany poszczególnych elementów

Wydarzenia

Nie ma łatwego sposobu obsługi zdarzeń myszy. Obiekty pod kursorem należy zdefiniować ręcznie.

Zdarzenia z myszy poprzez DOM można łatwo rozłączyć, są przetwarzane automatycznie.

Integracja kodu

Kod JS niezależny od Canvas

Możesz dołączyć JS do środka

Różnice te należy wziąć pod uwagę przy stosowaniu konkretnej technologii wizualizacji danych. Na przykład rysowanie wykresu funkcji może być łatwiejsze w przypadku Canvas, podczas gdy wyświetlanie podpowiedzi (z definicją obiektu pod wskaźnikiem myszy) jest łatwiejsze w SVG.

W praktyce istnieje już jednak szereg gotowych bibliotek do wizualizacji danych, które częściowo niwelują te różnice.

Nie będę się wdawał w podstawy pracy z każdą z technologii, jako wprowadzenie polecam raport Vadima Makeeva (Opera) z Obozu HTML5 „Dynamic Graphics: Canvas and SVG”.

Zobacz także relacje MIX 2011:

Przetwarzanie obrazu za pomocą płótna

Jedną z godnych uwagi cech Canvas jest to, że technologia ta zapewnia dostęp piksel po pikselu do wyświetlanych danych i umożliwia wyświetlanie na płótnie różnych elementów graficznych, w tym wideo.

Dobrym przykładem sytuacji, w której jest to potrzebne, jest zadanie przetwarzania/analizy obrazu.

Processing.js oferuje dwa podejścia do opisu wizualizacji: kod pośredni, analizowany dalej przez samą bibliotekę (w osobnym pliku lub wewnątrz strony) oraz jawny kod JavaScript.

Przykładowo, aby narysować fraktal zbioru Mandelbrota, można skorzystać albo z opcji wskazanej na stronie z odpowiednim przykładem, albo z poniższego kodu JavaScript:

zmienna xmin = -2,5; różna min = -2; var wh = 4; funkcja szkicProc(przetwarzanie) ( przetwarzanie.setup = funkcja () ( przetwarzanie.size(200, 200); przetwarzanie.noLoop(); ); przetwarzanie.draw = funkcja () ( przetwarzanie.loadPixels(); var maxiterations = 200; var xmax = xmin + wh; var ymax = ymin + wh; var dx = (xmax - xmin) / (przetwarzanie.width); var dy = (ymax - ymin) / (przetwarzanie.wysokość); var y = ymin; for (var j = 0; j< processing.height; j++) { var x = xmin; for (var i = 0; i < processing.width; i++) { var a = x; var b = y; var n = 0; while (n < maxiterations) { var aa = a * a; var bb = b * b; var twoab = 2.0 * a * b; a = aa - bb + x; b = twoab + y; if (aa + bb >16,0) ( przerwa ; ) n++; ) if (n == maksymalizacje) przetwarzanie.pixels.setPixel(i+j*processing.width, 0); else przetwarzanie.piksele.setPixel(i+j*processing.width, przetwarzanie.kolor(n*16% 255)); x += dx; ) y += dy; ) przetwarzanie.updatePixels(); ); ) var canvas = document.getElementById("myCanvas" ); var p = nowe przetwarzanie (płótno, szkicProc);

Możesz spróbować sam tutaj: http://silverbook.ru/projects/html5datavisualization/demo3-processingjs.htm (skopiuj kod, wklej go do konsoli i uruchom).

Zestaw narzędzi JavaScript InfoVis (JIT)

Aby wyświetlić dane, JIT akceptuje surowe wartości w formacie JSON:

var json = ( "etykieta": ["etykieta A", "etykieta B", "etykieta C", "etykieta D" ], "wartości": [( "etykieta": "data A", "wartości" : ) , ( "etykieta": "data B", "wartości": ), ( "etykieta": "data E", "wartości": ), ( "etykieta": "data F", "wartości": ), ( "label": "data D" , "wartości" : ), ( "etykieta": "data C" , "wartości" : )] ); var pieChart = new $jit.PieChart(( injectInto: "infovis" , animate: true , offset: 30, plasterOffset: 0, labelOffset: 20, type: "stacked:gradient" , showLabels:true , resizeLabels: 7, Label: (typ: „Native” , rozmiar: 20, rodzina: „Arial” , kolor: „biały” ), Wskazówki: (włącz: true , onShow: funkcja (tip, elem) ( tip.innerHTML = " "+ nazwa.elementu + ": " + wartość elementu; ) ) ));

wystarczy wywołać rysunek:

PieChart.loadJSON(json);

Wykresy przebiegu w jQuery

Wizualizacja mapy w formacie SVG

Przejdźmy do SVG i zacznijmy od prostego przykładu. Wyobraź sobie, że musisz wyświetlić pewne dane na mapie regionów. Jak najłatwiej to zrobić?

Jeśli dysponujesz gotową mapą w formie SVG (mapę Rosji wziąłem z Wikipedii), to robi się to bardzo prosto - wystarczy, że każdy region ma swój unikalny identyfikator w dokumencie SVG, to wstawiamy mapę jako inline svg i kolorujemy ją prostym kodem w odpowiednim kolorze:

var SverdlovskOblast = document.getElementById("SverdlovskOblast" ); SverdlovskOblast.style.fill = "#fe3300" ;

Jeśli zrobisz to samo w pętli, możesz już pokolorować nie tylko region, ale cały region, a nawet cały kraj:

var data = [(id: "KurganOblast" , wartość: 30), (id: "SverdlovskOblast" , wartość: 200), (id: "TiumeńOblast" , wartość: 75), (id: "KhantiaMansia" , wartość: 100 ), (id: "YamaloNenetsAutDistrict" , wartość: 20), (id: "ChelyabinskOblast" , wartość: 150)]; dla (var i = 0; tj< data.length; i++) { var item = data[i]; var region = document.getElementById(item.id); region.style.fill = RGBtoHex(item.value, 0, 0); }

Biblioteki do wizualizacji danych za pomocą SVG

Jak powiedziałem, zarówno Canvas, jak i SVG nadają się do rozwiązania tradycyjnego zadania wizualizacji danych liczbowych w postaci wykresów i wykresów. W obu przypadkach można to dość łatwo zrobić, korzystając z odpowiednich bibliotek.

Przyjrzeliśmy się już przykładom Canvas, teraz przyjrzyjmy się kilku bibliotekom do pracy z SVG. (To również nie jest lista wyczerpująca, ale raczej rozwiązania wysokiej jakości i popularne.)

Rafał

Aby dodać prosty wykres kołowy wystarczy taki kod:

var r = Raphael("wykres" , 640, 480); var ciasto = r.g.piechart(320, 240, 100, );

Wykonując kilka dodatkowych operacji, możesz dodać legendę, podpisy wykresów i interaktywne podpowiedzi:

var r = Raphael("wykres" , 640, 480); r.g.txtattr.font = „12 pikseli „Fontin Sans”, Fontin-Sans, bezszeryfowa”; r.g.text(320, 100, "Interaktywny wykres kołowy").attr(("rozmiar czcionki" : 20)); var ciasto = r.g.piechart(320, 240, 100, ,
(legenda: ["%%.%% – Użytkownicy korporacyjni" , "Użytkownicy IE" ], legenda: "zachód" ,
href: ["http://raphaeljs.com" , http://g.rapaeljs.com]});
pie.hover(funkcja () ( this .sector.stop(); this .sector.scale(1.1, 1.1, to .cx, to .cy); if (ta .label) ( this .label.stop(); this .label.scale(1.5); this .label.attr(("grubość czcionki" : 800)); ) ), funkcja () ( this .sector.animate((skala: ), 500, "odbicie" ) ; if (this .label) ( this .label.animate((skala: 1), 500, „odbicie” ); this .label.attr((„grubość czcionki” : 400)); ) ));

Podobnie możesz wyświetlać inne typy wykresów, korzystając z odpowiednich metod. Zobacz przykłady bezpośrednio na stronie rozszerzenia http://g.rapaeljs.com/

HighchartsJS

API biblioteki sprawia, że ​​wygenerowanie wykresu na podstawie danych w formacie JSON jest dość proste:

var wykres1 = new Highcharts.Chart(( wykres: ( renderTo: "charts" , defaultSeriesType: "bar" ), tytuł: ( tekst: "Konsumpcja owoców" ), xAxis: ( kategorie: ["Jabłka" , "Banany" , „Pomarańcze” ] ), yAxis: ( tytuł: ( tekst: „Zjedzone owoce”) ), seria: [( imię: „Jane” , dane: ), ( imię: „Jan” , dane: )] ));

Przy nieco bardziej złożonym skrypcie możesz określić dodatkowe szczegóły, na przykład wyświetlić legendę, ustawić podpowiedzi:

var wykres = new Highcharts.Chart(( wykres: ( renderTo: "charts" , defaultSeriesType: "area" , spacingBottom: 30 ), tytuł: ( tekst: "Konsumpcja owoców *" ), podtytuł: ( tekst: „* Konsumpcja bananów przez Jane jest nieznana”, pływający: prawda , wyrównanie: „w prawo” , pionowoAlign: „dół” , y: 15 ), legenda: (układ: „pionowo” , wyrównanie: „w lewo” , pionowoAlign: „góra” , x: 150, y: 100 , pływający: true , borderWidth: 1, backColor: "#FFFFFF" ), xAxis: ( kategorie: ["Jabłka" , "Gruszki" , "Pomarańcze" , "Banany" , "Winogrona" , "Śliwki" , "Truskawki" , „Raspberries” ] ), yAxis: ( tytuł: ( tekst: „Oś Y”), etykiety: ( formater: funkcja () (zwróć tę wartość; ) ) ), podpowiedź: ( formater: funkcja () ( return " „+nazwa.tej.serii+”
" + this .x +": " + this .y; ) ), plotOptions: ( area: ( fillOpacity: 0.5 ) ), seria: [( name: "John" , data: ), ( name: "Jane" , dane: )] ));

W razie potrzeby możesz zastąpić style domyślne własnymi.

Co wybrać: Canvas czy SVG?

Jak widać z powyższych przykładów, obie technologie często sprawdzają się w zadaniach wizualizacji danych. Wiele rzeczy robi się w podobny sposób. W przypadkach, gdy potrzebne jest wyjście piksel po pikselu, zdecydowanie lepiej nadaje się Canvas. Tam, gdzie diagram dzieli się na osobne obiekty, które muszą być interaktywne, lepiej nadaje się SVG.

Płótno jest lepsze
  • Edycja grafiki bitmapowej
  • Stosowanie efektów do grafiki/wideo
  • Generowanie grafiki rastrowej (wizualizacja danych, fraktale, wykresy funkcyjne)
  • Analiza obrazu
  • Grafika gry (duszki, tło itp.)
SVG jest lepszy
  • Skalowalne interfejsy
  • Interaktywne interfejsy
  • Schematy, schematy
  • Edycja obrazu wektorowego

W formie graficznej można to przedstawić w następujący sposób:

Wreszcie kolejnym ważnym krokiem, który również należy wziąć pod uwagę przy wyborze technologii, jest wydajność renderowania podczas korzystania z Canvas i SVG:

W praktyce canvas działa lepiej przy małych rozmiarach obszaru renderowania i dużej liczbie obiektów, w SVG lepiej sprawdza się przy skalowaniu lub wyświetlaniu na dużym ekranie i nie za bardzo w dużych ilościach wysyłane obiekty na raz.

Taki wniosek wynika z raportu prezesa zarządu Baszniefti, ogłoszonego walnemu zgromadzeniu akcjonariuszy spółki, którego kopia została udostępniona redakcji.

Z dokumentu wynika, że ​​w wyniku poszukiwań geologicznych w 2018 roku odkryto 81 złóż produkcyjnych o zasobach 19 mln ton.

Jednocześnie zastosowanie wysoce efektywnych środków geologiczno-technicznych oraz wprowadzenie nowoczesnych technologii zwiększonego wydobycia ropy naftowej pozwoliło na utrzymanie wydobycia ropy na dojrzałych złożach w Baszkirii na poziomie 15 mln ton z 2017 roku, po wynikach 11 miesięcy . Łączny wolumen wydobycia w podanym okresie wyniósł 17,3 mln ton ropy.

W raporcie zauważono także, że utworzenie jednego łańcucha produkcyjnego z kompleksem produkcyjno-przetwórczym Rosniefti zwiększyło efektywność rafinerii w Ufie i doprowadziło do obniżenia kosztów operacyjnych i logistycznych. W szczególności opanowano produkcję benzyny Euro-6 i rozpoczęto przemysłową produkcję bitumu drogowego zgodnie z nowym GOST.

Wolumen sprzedaży detalicznej na stacjach paliw Basznieft’ za 11 miesięcy 2018 roku wzrósł o 13,2 proc. w porównaniu z analogicznym okresem ubiegłego roku i wyniósł 1,7 mln ton.

W celu realizacji strategii w obszarze petrochemii modernizowana jest produkcja petrochemiczna. Tak więc w maju 2018 roku „Ufaorgsintez” został oddany do użytku nowa instalacja produkcja kumenu – surowców do produkcji farb, rozpuszczalników, różnych polimerów stosowanych w przemyśle motoryzacyjnym, medycynie i farmakologii. Następna w kolejce jest przebudowa kompleksu produkcyjnego aromatów w Ufaneftekhim i budowa nowych instalacji do produkcji olefin w Ufaorgsintez.

Skonsolidowany wskaźnik zysku operacyjnego za 9 miesięcy 2018 roku wzrósł o 22,6 proc. w porównaniu do analogicznego okresu 2017 roku i wyniósł 135,5 mld rubli. Zysk netto Baszniefti sięgnął 74,6 mld rubli, czyli o 73,5 proc. więcej niż w tym samym okresie ubiegłego roku.

W trzecim kwartale Basznieft’ wypłaciła akcjonariuszom ogłoszoną na walnym zgromadzeniu w czerwcu 2018 roku dywidendę w wysokości 28,2 mld rubli, a łączna kwota dywidend wypłaconych od początku roku wyniosła 43 mld rubli.

Jednocześnie spadł poziom zadłużenia netto spółki i na dzień 30 września 2018 roku wyniósł 40,1 mld rubli (w tym samym dniu w 2017 roku było to 104,7 mld rubli).

Jednocześnie w okresie sprawozdawczym ulgi podatkowe do budżetu Baszkortostanu, biorąc pod uwagę jednorazową wpłatę podatku dochodowego, wzrosły 1,5-krotnie w porównaniu z analogicznym okresem ubiegłego roku i wyniosły 50,5 miliarda rubli.

Istnieje tag umożliwiający umieszczenie obrazu w określonym miejscu na stronie. . Znacznik ten posiada wymagany parametr: SRC="", oraz kilka opcjonalnych. Parametr SRC="" informuje przeglądarkę, gdzie szukać grafiki i jako wartość powinien mieć adres URL zasobu, w którym znajduje się plik graficzny. W najprostszym przypadku plik ten zostanie umieszczony w katalogu głównym lub w folderze IMG Twojej witryny. Parametry opcjonalne:

Parametr ALT="" zawiera jako wartość napis, który informuje o zawartości obrazu dla tych odwiedzających, których przeglądarki nie obsługują grafiki lub działają w wyłączonym trybie graficznym. Ten sam napis pojawia się po najechaniu myszką na obraz.

Parametry WIDTH="" HEIGHT="" mają jako wartości wymiary obrazu w zakresie szerokości i wysokości w pikselach. Pożądane jest określenie tych parametrów w kodzie strony, aby przeglądarka z wyprzedzeniem pozostawiła miejsce na obraz, a następnie podczas ładowania strona będzie mniej „drgać”. Dodatkowo za pomocą tych parametrów można dostosować wielkość obrazu w oknie przeglądarki.

Parametr BORDER="" rysuje ramkę wokół obrazu. Wartość jest liczbą wskazującą szerokość ramki w pikselach.

Parametr ALIGN= określa położenie obrazka na stronie i może przyjmować wartości TOP – wyrównuje górną granicę obrazu z najwyższym elementem bieżącej linii, TEXTTOP – wyrównuje górną granicę obrazu z najwyższym element tekstowy bieżącej linii, MIDDLE - wyrównuje środek obrazu z linią bazową bieżącej linii, ABSMIDDLE - wyrównuje środek obrazu do środka bieżącej linii. BASELINE lub BOTTOM - wyrównuje dolną krawędź obrazu z linią bazową bieżącej linii, ABSBOTTOM - wyrównuje dolną granicę obrazu z dolną krawędzią bieżącej linii, HSPACE= - definiuje wcięcie poziome, VSPACE= - określa wcięcie pionowe.

Składnia tagu:

Serce

Linia biegu jest wyznaczana przez znacznik .

Atrybuty tego tagu to bgcolor – kolor tła linii przewijania, wysokość – wysokość linii, szerokość – szerokość linii.

Kierunek - ustawia kierunek ruchu tickera - kierunek="w lewo" (w prawo, w górę, w dół) - ruch w lewo (w prawo, w górę, w dół).

Zachowanie - zachowanie ciągu znaków - zachowanie="przewiń" (slajd, alternatywa). Scroll - normalne przewijanie (nie możesz tego przepisać, jest to ustawienie domyślne)



Slide - przewijanie z zatrzymaniem, linia dobiega do krawędzi i zatrzymuje się. Jeżeli parametr pętli zostanie użyty jednocześnie z behavor="slide" , wówczas linia przesunie się zadaną liczbę razy i zatrzyma się na krawędzi. Alternatywnie - linia będzie przesuwać się od krawędzi do krawędzi.
Scrollamount - prędkość linii, scrollamount="1". Może przyjmować wartości od 1 do 10. 1 to najwolniejszy ruch, 10 to najszybszy.

Składnia tagu: tekst

Nowoczesne przeglądarki internetowe mogą odtwarzać pliki wideo i audio w różnych formatach. W tym celu korzystają z wbudowanych odtwarzaczy (wtyczek, kontrolek ActiveX) lub zewnętrznych programów odtwarzających. Możesz wstawić dźwięk lub wideo do dokumentu HTML za pomocą różnych tagów:

- aby wstawić dźwięk tła;

- wstawić wideo w formacie AVI;

- wstawianie plików dźwiękowych i wideo;

- wstawianie plików dźwiękowych i wideo.

Decydując się na osadzenie dźwięku i/lub wideo w dokumencie HTML, należy pamiętać, że odpowiadające im pliki są dość duże. Najpopularniejsze obecnie w sieci to formaty wideo MP3, WMA, AIFF, AU, RealAudio (ra i ram), MP4, MIDI i MPEG, MOV. Format audio WAV i format wideo AVI są rzadko używane w Internecie.