Skalierbare Vektorgrafiken in HTML5. Skalierbare Vektorgrafiken (SVG) – Erkunden von Grafik-Tags

Vektorgrafiken werden im Druckbereich häufig verwendet. Wir können es aber auch für Websites verwenden, die SVG verwenden ( Skalierbare Vektorgrafik – skalierbare Vektorgrafiken). Gemäß der W3.org-Spezifikation ist SVG definiert als:

Eine Sprache zur Beschreibung zweidimensionaler Grafiken in XML. SVG erlaubt drei Arten von Objekten: Vektorgrafiken (z. B. Pfade, die aus geraden Linien und Kurven bestehen), Bilder und Text.

Obwohl SVG seit August 2011 in den W3C-Empfehlungen enthalten ist, diese Technologie Es wird in Webprojekten praktisch nicht verwendet, obwohl es gegenüber Rasterbildern eine Reihe von Vorteilen bietet. In dieser Lektionsreihe stellen wir vor, wie man mit SVG-Elementen auf Webseiten arbeitet.

Vorteile von SVG

Auflösungsunabhängigkeit

Rasterbilder sind auflösungsabhängig. Grafiken sehen bei der Größenänderung auf einen bestimmten Maßstab nicht mehr darstellbar aus. Bei Vektorgrafiken ist diese Situation grundsätzlich unmöglich, da alles durch mathematische Ausdrücke dargestellt wird, die bei einer Maßstabsänderung automatisch neu berechnet werden und die Qualität unter allen Bedingungen erhalten bleibt.

Reduzierung der Anzahl der HTTP-Anfragen

SVG kann mithilfe des SVG-Tags direkt in ein HTML-Dokument eingebettet werden, sodass der Browser keine Anfragen zur Bereitstellung der Grafiken stellen muss. Dieser Ansatz hat einen guten Einfluss auf die Ladeeigenschaften der Website.

Stile und Skripte

Durch die Einbettung mithilfe des SVG-Tags ist es auch einfach, Stile für Grafiken zu definieren mit CSS. Sie können Objekteigenschaften wie Hintergrundfarbe, Transparenz, Rahmen usw. ändern. Grafiken können auf ähnliche Weise mit JavaScript manipuliert werden.

Einfach zu bearbeiten und zu animieren

SVG-Objekte können mit CSS oder JavaScript animiert werden. SVG-Objekte können auch mit einem Texteditor geändert werden.

Kleinere Dateigröße

SVG hat im Vergleich zu Rastergrafiken eine kleinere Dateigröße.

Grundlegende SVG-Formen

Gemäß der Spezifikation können wir mehrere Grundformen zeichnen: Linie, Polylinie, Rechteck, Kreis, Ellipse. Alle Elemente müssen in das Tag eingefügt werden ... . Schauen wir uns die Grundelemente im Detail an.

Linie

Um eine Linie in SVG anzuzeigen, verwenden Sie das Element . Er zeichnet ein Segment, für das zwei Punkte bestimmt werden müssen: der Anfang und das Ende.

Der Anfang des Segments wird durch die Attribute x1 und y1 bestimmt, und der Endpunkt wird durch die Koordinaten in den Attributen x2 und y2 bestimmt.

Es gibt außerdem zwei weitere Attribute (Strich und Strichbreite), mit denen die Farbe bzw. die Breite der Linie definiert wird.

Dieses Objekt ähnelt , aber mit dem Element Sie können mehrere Linien gleichzeitig zeichnen.

Element Enthält das Punkteattribut, das zur Angabe der Koordinaten von Punkten verwendet wird.

Das Rechteck wird mit dem Element gezeichnet . Sie müssen die Breite und Höhe bestimmen.

Zur Darstellung eines Kreises verwenden wir das Element . Im folgenden Beispiel erstellen wir einen Kreis mit einem Radius von 100, der im r-Attribut definiert ist:

Die ersten beiden Attribute cx und cy definieren die Koordinaten des Mittelpunkts. Im obigen Beispiel setzen wir den Wert für beide Koordinaten auf 102. Der Standardwert ist 0.

Zur Darstellung einer Ellipse nutzen wir das Element . Es funktioniert genauso wie ein Kreis, aber wir können die x- und y-Radien mithilfe der Attribute rx und ry gezielt angeben:

Element Zeigt polyedrische Formen wie Dreieck, Sechseck usw. an. Zum Beispiel:

Verwendung eines Vektorgrafik-Editors

Die Ausgabe einfacher SVG-Objekte in HTML ist einfach. Mit zunehmender Komplexität des Objekts kann diese Vorgehensweise jedoch zu einem hohen Arbeitsaufwand führen.

Sie können jedoch jeden beliebigen Vektorgrafik-Editor verwenden (z. B. Adobe Illustrator oder Inkscape), um Objekte zu erstellen. Wenn Sie über ein solches Tool verfügen, ist das Zeichnen der erforderlichen Objekte darin viel einfacher als das Codieren von Grafiken in einem HTML-Tag.

Sie können Vektorgrafikbefehle aus einer Datei in ein HTML-Dokument kopieren. Oder Sie können die .svg-Datei mit einem der folgenden Elemente einbetten: embed , iframe und object .

Das Ergebnis wird das gleiche sein.

Browserunterstützung

SVG wird in den meisten modernen Browsern gut unterstützt, mit Ausnahme von IE Version 8 und früher. Das Problem kann jedoch mithilfe der JavaScript-Bibliothek gelöst werden. Um Ihnen die Arbeit zu erleichtern, können Sie mit dem Tool ReadySetRaphael.com SVG-Code in das Raphael-Format konvertieren.

Zuerst laden wir die Bibliothek herunter und fügen sie in das HTML-Dokument ein. Dann laden wir die .svg-Datei, kopieren den resultierenden Code und fügen ihn nach dem Laden in die Funktion ein:

Im Body-Tag platzieren wir das folgende div-Element mit der Kennung rsr.

Und alles ist fertig.

Im nächsten Tutorial der Serie schauen wir uns an, wie man SVG-Objekte in CSS formatiert.

(Übersichtsartikel im Anschluss an die Konferenz über Softwareentwicklung in Jekaterinburg und andere Präsentationen. Videoversion des Berichts in Jekaterinburgsiehe auf techdays.ru )

Was sind HTML5 Canvas und SVG?

HTML5-Canvas

– Das Element ist eine Leinwand zum Zeichnen von Rastergrafiken. Tatsächlich ist es ein leerer Block angegebenen Abmessungen, auf die Sie mithilfe spezieller APIs für JavaScript zurückgreifen können.

Die API umfasst 45 spezielle Methoden und 21 Attribute, die zum Anzeigen von Grafikprimitiven, zum Festlegen von Stilen, zum Transformieren, zum Zugriff auf einzelne Pixel sowie zum Projizieren von Bildern und Videos verwendet werden.

Ich selbst Das Element wird direkt in der HTML5-Spezifikation definiert. Die API dafür wird in einem separaten Dokument beschrieben – HTML Canvas 2D Context.

SVG

Musik kann Spaß machen

Wunderschönes musikalisches und grafisches Visualisierungsspiel (http://musiccanbefun.edankwan.com/).

Beispiele für Diagramme in SVG

Diagramm des menschlichen Skeletts, des Periodensystems chemischer Elemente und des Atmungssystems (http://ie.microsoft.com/testdrive/Graphics/RealWorldDataAndDiagrams/Default.xhtml).

Yandex-Karten

Ein näheres Beispiel aus der Praxis ist das Zeichnen von Routen mit SVG (sofern der Browser dies unterstützt). Siehe auch den Vortrag „Karten und SVG“ aus unserem HTML5-Camp.

Mehr Beispiele:

  • Beauty of the Web http://www.beautyoftheweb.com/ – echte Websites aus der realen Welt
  • Entwickler: unplugged http://contest.beautyoftheweb.com/ – Projekte, die am HTML5-Anwendungswettbewerb teilnehmen

Unterschied zwischen Canvas und SVG

In verschiedenen Szenarien eignen sich möglicherweise entweder Canvas oder SVG besser für die dynamische Grafikwiedergabe – wir werden am Ende auf dieses Problem zurückkommen. Schauen wir uns zunächst die wichtigsten Unterschiede zwischen den beiden an:

Leinwand SVG
Format Raster Vektor
Skalierung
Zugang

Individueller Pixelzugriff (RGBA)

Zugriff auf einzelne Elemente (DOM)

Indexierbarkeit und Zugänglichkeit

Nur das endgültige Raster ist sichtbar (Sie können keine Formen, Texte usw. auswählen) – schlecht für die Barrierefreiheit

Sie können die Struktur anzeigen (z. B. den gesamten Text herausziehen)

Stilisierung

Visuelle Stile werden beim Rendern über die API festgelegt

Visuelle Stile werden durch Attribute festgelegt, Sie können CSS einbinden

Programmierung

JS-API für die Arbeit mit Grundelementen

DOM zum Arbeiten mit Elementen

Aktualisieren

Zum Aktualisieren - Überzeichnen oder vollständiges Neuzeichnen

Es ist möglich, einzelne Elemente zu ändern

Veranstaltungen

Es gibt keine einfache Möglichkeit, mit Mausereignissen umzugehen. Objekte unter dem Cursor müssen manuell definiert werden.

Mausereignisse können einfach über das DOM versendet und automatisch verarbeitet werden.

Code-Integration

Von Canvas getrennter JS-Code

Sie können JS darin einbinden

Diese Unterschiede müssen bei der Verwendung der einen oder anderen Technologie zur Datenvisualisierung berücksichtigt werden. Beispielsweise kann das Zeichnen eines Diagramms einer Funktion mit Canvas einfacher sein, während die Anzeige von Tooltips (Identifizierung des Objekts unter dem Mauszeiger) mit SVG einfacher ist.

In der Praxis gibt es jedoch bereits eine Reihe vorgefertigter Bibliotheken zur Datenvisualisierung, die diese Unterschiede teilweise neutralisieren.

Ich werde nicht auf die Grundlagen der Arbeit mit den einzelnen Technologien eingehen; als Einführung empfehle ich den Bericht von Vadim Makeev (Opera) aus dem HTML5-Camp „Dynamische Grafiken: Canvas und SVG“.

Siehe auch MIX 2011-Berichte:

Bilder mit Canvas bearbeiten

Eines der bemerkenswerten Merkmale von Canvas besteht darin, dass diese Technologie einen pixelweisen Zugriff auf die angezeigten Daten ermöglicht und es Ihnen ermöglicht, verschiedene grafische Elemente, einschließlich Videos, auf die Leinwand zu projizieren.

Ein gutes Beispiel dafür, wo dies erforderlich ist, ist eine Bildverarbeitungs-/Analyseaufgabe.

Processing.js bietet zwei Ansätze zur Beschreibung der Visualisierung: Zwischencode, der von der Bibliothek selbst weiter analysiert wird (in einer separaten Datei oder innerhalb einer Seite), und expliziten JavaScript-Code.

Um beispielsweise ein Mandelbrot-Menge-Fraktal zu zeichnen, können Sie sowohl die auf der Seite mit dem entsprechenden Beispiel angegebene Option als auch den folgenden JavaScript-Code verwenden:

var xmin = -2,5; var ymin = -2; var wh = 4; function SketchProc(processing) ( processing.setup = function () ( processing.size(200, 200); processing.noLoop(); ); processing.draw = function () ( processing.loadPixels(); var maxiterations = 200; var xmax = xmin + wh; var ymax = ymin + wh; var dx = (xmax - xmin) / (Verarbeitungsbreite); var dy = (ymax - ymin) / (Verarbeitungshöhe); var y = ymin; für (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) ( break ; ) n++; ) if (n == maxiterations) processing.pixels.setPixel(i+j*processing.width, 0); else processing.pixels.setPixel(i+j*processing.width, processing.color(n*16 % 255)); x += dx; ) y += dy; ) processing.updatePixels(); ); ) var canvas = document.getElementById("myCanvas" ); var p = new Processing(canvas, SketchProc);

Sie können es hier selbst ausprobieren: http://silverbook.ru/projects/html5datavisualization/demo3-processingjs.htm (kopieren Sie den Code, fügen Sie ihn in die Konsole ein und führen Sie ihn aus).

JavaScript InfoVis Toolkit (JIT)

Um die Daten anzuzeigen, verwendet JIT die Rohwerte als JSON:

var json = ( "label" : ["label A", "label B", "label C", "label D" ], "values" : [ ("label" : "date A", "values" : ) , ("label" : "Datum B", "values" : ), ("label" : "date E", "values" : ), ("label" : "date F", "values" : ), ( „label“ : „Datum D“, „values“ : ), („label“ : „date C“, „values“ : )] ); var pieChart = new $jit.PieChart(( injectInto: "infovis" , animate: true , offset: 30, SliceOffset: 0, labelOffset: 20, type: "stacked:gradient" , showLabels:true , resizeLabels: 7, Label: (Typ: „Native“, Größe: 20, Familie: „Arial“, Farbe: „Weiß“, Tipps: (enable: true, onShow: function (tip, elem) (tip.innerHTML = „ " + elem.name + ": " + elem.value; ) ) ));

Rufen Sie einfach das Rendering auf:

PieChart.loadJSON(json);

jQuery-Sparklines

Visualisierung auf einer Karte mittels SVG

Kommen wir zu SVG und beginnen mit einem einfachen Beispiel. Stellen Sie sich vor, Sie müssten einige Daten auf einer Karte von Regionen anzeigen. Wie geht das am einfachsten?

Wenn Sie eine vorgefertigte Karte im SVG-Format haben (ich habe die Karte von Russland von der Wikipedia-Website übernommen), dann geht das ganz einfach – dann reicht es aus, dass jede Region ihre eigene eindeutige ID im SVG-Dokument hat Fügen Sie die Karte als Inline-SVG ein und färben Sie sie mit einem einfachen Code in der gewünschten Farbe:

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

Wenn Sie dasselbe in einer Schleife machen, können Sie nicht nur eine Fläche, sondern eine ganze Region oder sogar ein ganzes Land einfärben:

var data = [(id: „KurganOblast“ , Wert: 30), (id: „SverdlovskOblast“ , Wert: 200), (id: „TyumenOblast“ , Wert: 75), (id: „KhantiaMansia“ , Wert: 100 ), (id: „YamaloNenetsAutDistrict“, Wert: 20), (id: „ChelyabinskOblast“, Wert: 150)]; für (var i = 0; i< data.length; i++) { var item = data[i]; var region = document.getElementById(item.id); region.style.fill = RGBtoHex(item.value, 0, 0); }

Bibliotheken zur Visualisierung von Daten mithilfe von SVG

Wie ich bereits sagte, eignen sich sowohl Canvas als auch SVG zur Lösung des traditionellen Problems der Visualisierung numerischer Daten in Form von Grafiken und Diagrammen. In beiden Fällen lässt sich dies ganz einfach über die entsprechenden Bibliotheken bewerkstelligen.

Wir haben uns bereits Beispiele mit Canvas angeschaut, schauen wir uns nun mehrere Bibliotheken für die Arbeit mit SVG an. (Dies ist auch keine vollständige Liste, sondern recht hochwertige und beliebte Lösungen.)

Raphael

Um ein einfaches hinzuzufügen Kuchendiagramm Der folgende Code reicht aus:

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

Mit ein paar zusätzlichen Schritten können Sie eine Legende, Diagrammbeschriftungen und interaktive Tooltips hinzufügen:

var r = Raphael("chart", 640, 480); r.g.txtattr.font = „12px „Fontin Sans“, Fontin-Sans, serifenlos“; r.g.text(320, 100, "Interaktives Kreisdiagramm" ).attr(("font-size" : 20)); var pie = r.g.piechart(320, 240, 100, ,
(legend: ["%%.%% – Enterprise Users" , "IE Users" ], legendpos: "west" ,
href: ["http://raphaeljs.com" , http://g.raphaeljs.com]});
pie.hover(function () ( this .sector.stop(); this .sector.scale(1.1, 1.1, this .cx, this .cy); if (this .label) ( this .label.stop(); this .label.scale(1.5); this .label.attr(("font-weight" : 800)); ) ), function () ( this .sector.animate((scale: ), 500, "bounce" ) ; if (this .label) ( this .label.animate((scale: 1), 500, "bounce" ); this .label.attr(("font-weight" : 400)); ) ));

Andere Arten von Diagrammen können mit geeigneten Methoden auf ähnliche Weise erstellt werden. Beispiele finden Sie direkt auf der Erweiterungsseite http://g.raphaeljs.com/

Highcharts JS

Die Bibliotheks-API macht es ganz einfach, ein Diagramm mit Daten in JSON zu erstellen:

var chart1 = new Highcharts.Chart(( chart: ( renderTo: "charts" , defaultSeriesType: "bar" ), title: ( text: "Fruit Consumption" ), xAxis: ( Kategorien: ["Apples" , "Bananen" , „Orangen“ ]), yAchse: ( Titel: ( Text: „Früchte gegessen“ ) ), Serie: [( Name: „Jane“, Daten: ), ( Name: „John“, Daten: )] ));

Mit einem etwas komplexeren Skript können Sie zusätzliche Details festlegen, beispielsweise eine Legende anzeigen, Tooltips konfigurieren:

var chart = new Highcharts.Chart(( chart: ( renderTo: "charts" , defaultSeriesType: "area" , spacingBottom: 30 ), title: ( text: "Obstkonsum *" ), subtitle: ( text: „* Janes Bananenkonsum ist unbekannt“, schwebend: wahr, ausrichten: „rechts“, vertikal ausrichten: „unten“, y: 15), Legende: (Layout: „vertikal“, ausrichten: „links“, vertikal ausrichten: „oben“, x: 150, y: 100 , Floating: true , BorderWidth: 1, BackgroundColor: "#FFFFFF" ), xAxis: ( Kategorien: ["Äpfel", "Birnen", "Orangen", "Bananen", "Trauben", "Pflaumen", "Erdbeeren" , „Raspberries“ ] ), yAxis: ( title: ( text: „Y-Axis“ ), labels: ( formatter: function () ( return this .value; ) ) ), tooltip: ( formatter: function () ( return " „+this.series.name+“
" + this .x +": " + this .y; ) ), plotOptions: ( Bereich: ( fillOpacity: 0.5 ) ), series: [( name: "John" , data: ), ( name: "Jane" , Daten: )] ));

Bei Bedarf können Sie die Standardstile durch Ihre eigenen ersetzen.

Sollten Sie Canvas oder SVG wählen?

Wie aus den obigen Beispielen hervorgeht, eignen sich beide Technologien häufig für Datenvisualisierungsaufgaben. Viele Dinge werden auf ähnliche Weise erledigt. In Fällen, in denen eine pixelweise Ausgabe erforderlich ist, ist Canvas offensichtlich besser geeignet. Wenn das Diagramm in einzelne Objekte zerfällt, bei denen Sie die Interaktivität aufrechterhalten müssen, ist SVG besser geeignet.

Leinwand ist besser
  • Bearbeiten von Rastergrafiken
  • Hinzufügen von Effekten zu Grafiken/Videos
  • Generierung von Rastergrafiken (Datenvisualisierung, Fraktale, Funktionsgraphen)
  • Bildanalyse
  • Spielgrafiken (Sprites, Hintergrund usw.)
SVG ist besser
  • Skalierbare Schnittstellen
  • Interaktive Schnittstellen
  • Diagramme, Schemata
  • Bearbeitung von Vektorbildern

In grafischer Form lässt sich dies wie folgt darstellen:

Schließlich ist ein weiterer wichtiger Aspekt, der bei der Auswahl einer Technologie ebenfalls berücksichtigt werden muss, die Rendering-Leistung bei der Verwendung von Canvas und SVG:

In der Praxis funktioniert Canvas besser, wenn der Zeichenbereich klein ist und sich auf eine große Anzahl von Objekten bezieht; SVG eignet sich besser, wenn eine Skalierung oder Anzeige auf einem großen Bildschirm erforderlich und nicht zu groß ist. große Mengen Objekte gleichzeitig angezeigt.

Diese Schlussfolgerung ergibt sich aus dem Bericht des Vorstandsvorsitzenden von Bashneft, der der Hauptversammlung des Unternehmens bekannt gegeben wurde und dessen Kopie bei der Redaktion eingegangen ist.

Aus dem Dokument geht hervor, dass im Jahr 2018 durch geologische Erkundungen 81 produktive Lagerstätten mit Reserven von 19 Millionen Tonnen entdeckt wurden.

Gleichzeitig ermöglichte der Einsatz hochwirksamer geologischer und technischer Maßnahmen und die Einführung moderner Technologien zur verbesserten Ölförderung, die Ölproduktion auf ausgereiften Feldern in Baschkirien auf dem Niveau von 2017 zu halten – 15 Millionen Tonnen. Die Gesamtproduktionsmenge belief sich in diesem Zeitraum auf 17,3 Millionen Tonnen Öl.

Der Bericht stellt außerdem fest, dass die Schaffung einer einzigen Produktionskette mit dem Rosneft-Produktions- und Raffineriekomplex die Effizienz der Ufa-Raffinerien steigerte und zu einer Reduzierung der Betriebs- und Logistikkosten führte. Insbesondere wurde die Produktion von Euro-6-Benzin gemeistert und mit der industriellen Produktion von Straßenbitumen nach dem neuen GOST begonnen.

Das Einzelhandelsumsatzvolumen an Bashneft-Tankstellen stieg in den elf Monaten des Jahres 2018 im Vergleich zum Vorjahreszeitraum um 13,2 Prozent und erreichte 1,7 Millionen Tonnen.

Zur Umsetzung der petrochemischen Strategie wird die petrochemische Produktion modernisiert. So wurde Ufaorgsintez im Mai 2018 in Betrieb genommen neue Installation Herstellung von Cumol – Rohstoff für die Herstellung von Farben, Lösungsmitteln und verschiedenen Polymeren, die in der Automobilindustrie, Medizin und Pharmakologie verwendet werden. Als nächstes stehen der Wiederaufbau des Aromatenproduktionskomplexes in Ufaneftekhim und der Bau neuer Olefinproduktionsanlagen in Ufaorgsintez an.

Der konsolidierte Betriebsgewinn für 9 Monate 2018 stieg im Vergleich zum gleichen Zeitraum 2017 um 22,6 Prozent und belief sich auf 135,5 Milliarden Rubel. Der Nettogewinn von Bashneft erreichte 74,6 Milliarden Rubel, das sind 73,5 Prozent mehr als im Vorjahr.

Im dritten Quartal zahlte Bashneft den Aktionären die auf der Hauptversammlung im Juni 2018 angekündigten Dividenden in Höhe von 28,2 Milliarden Rubel aus, und das Gesamtvolumen der seit Jahresbeginn gezahlten Dividenden belief sich auf 43 Milliarden Rubel.

Gleichzeitig sank die Höhe der Nettoverschuldung des Unternehmens und belief sich zum 30. September 2018 auf 40,1 Milliarden Rubel (zum gleichen Zeitpunkt im Jahr 2017 waren es 104,7 Milliarden Rubel).

Gleichzeitig stiegen im Berichtszeitraum die Steuerbeiträge zum Haushalt von Baschkortostan unter Berücksichtigung der einmaligen Zahlung der Einkommensteuer im Vergleich zum Vorjahreszeitraum um das 1,5-fache und beliefen sich auf 50,5 Milliarden Rubel.

Es gibt ein Tag, um ein Bild an einer bestimmten Stelle auf der Seite einzufügen. . Dieses Tag verfügt über einen erforderlichen Parameter: SRC="" und mehrere optionale Parameter. Der Parameter SRC="" teilt dem Browser mit, wo nach der Grafik gesucht werden soll, und sollte als Wert die URL der Ressource enthalten, in der sich die Grafikdatei befindet. Im einfachsten Fall wird diese Datei im Stammverzeichnis oder IMG-Ordner Ihrer Site abgelegt. Optionale Parameter:

Der Parameter ALT="" enthält als Wert eine Beschriftung, die über den Inhalt des Bildes Auskunft gibt, für Besucher, deren Browser keine Grafiken unterstützen oder im deaktivierten Grafikmodus arbeiten. Die gleiche Beschriftung erscheint, wenn Sie mit der Maus über das Bild fahren.

Die Parameter WIDTH="" HEIGHT="" haben als Werte die Bildabmessungen in Breite und Höhe in Pixeln. Es empfiehlt sich, diese Parameter im Seitencode anzugeben, damit der Browser vorab Platz für das Bild lässt, dann „zuckt“ die Seite beim Laden weniger. Darüber hinaus kann mit diesen Parametern die Größe des Bildes im Browserfenster angepasst werden.

Der Parameter BORDER="" zeichnet einen Rahmen um das Bild. Der Wert ist eine Zahl, die die Breite des Rahmens in Pixel angibt.

Der Parameter ALIGN= bestimmt die Position des Bildes auf der Seite und kann die Werte TOP annehmen – richtet den oberen Rand des Bildes am höchsten Element der aktuellen Zeile aus, TEXTTOP – richtet den oberen Rand des Bildes am aus höchstes Textelement der aktuellen Zeile, MITTE – richtet die Mitte des Bildes an der Grundlinie der aktuellen Zeile aus, ABSMIDDLE – richtet die Mitte des Bildes an der Mitte der aktuellen Zeile aus. BASELINE oder BOTTOM – richtet den unteren Rand des Bildes an der Grundlinie der aktuellen Zeile aus, ABSBOTTOM – richtet den unteren Rand des Bildes an dem unteren Rand der aktuellen Zeile aus, HSPACE= – bestimmt den horizontalen Einzug, VSPACE= – bestimmt der vertikale Einzug.

Tag-Syntax:

Ticker

Die Lauflinie wird durch das Tag angegeben .

Die Attribute dieses Tags sind bgcolor – Hintergrundfarbe der laufenden Linie, height – Linienhöhe, width – Linienbreite.

Richtung – legt die Bewegungsrichtung der Kriechlinie fest – Direction="left" (rechts, oben, unten) – Bewegung nach links (rechts, oben, unten).

Verhalten – Verhalten der Zeile – Behavior="scroll" (slide, alternate). Scrollen – normales Scrollen (Sie müssen es nicht angeben, es ist die Standardeinstellung)



Slide - Scrollen mit Stopp, die Linie läuft bis zum Rand und stoppt. Wenn Sie den Schleifenparameter gleichzeitig mit behavor="slide" verwenden, scrollt die Zeile die eingestellte Anzahl an Malen und stoppt am Rand. Abwechselnd – die Linie bewegt sich von Kante zu Kante.
Scrollamount – Geschwindigkeit der Linienbewegung, scrollamount="1". Kann Werte von 1 bis 10 annehmen. 1 ist die langsamste Bewegung, 10 die schnellste.

Tag-Syntax: Text

Moderne Webbrowser können Video- und Audiodateien in verschiedenen Formaten abspielen. Dazu nutzen sie integrierte Player (Plug-Ins, ActiveX-Steuerelemente) oder externe Player-Programme. Mithilfe verschiedener Tags können Sie Ton oder Video in ein HTML-Dokument einfügen:

- um Hintergrundton einzufügen;

- um Videos im AVI-Format einzufügen;

- zum Einfügen von Audio- und Videodateien;

- zum Einfügen von Audio- und Videodateien.

Bedenken Sie bei der Entscheidung, Audio und/oder Video in ein HTML-Dokument einzufügen, dass die entsprechenden Dateien recht groß sind. Die beliebtesten Dateien im Internet sind derzeit MP3, WMA, AIFF, AU, RealAudio (mit RA- und RAM-Erweiterungen), MP4, MIDI-Audiodateien und MPEG- und MOV-Videoformate. Das WAV-Audioformat und das AVI-Videoformat werden im Internet selten verwendet.