Grafik vektor yang dapat diskalakan dalam HTML5. Scalable Vector Graphics (SVG) - Tag Grafik Eksplorasi

Grafik vektor banyak digunakan dalam cetakan. Namun untuk website, kita juga bisa menggunakannya dengan SVG ( Grafik Vektor yang Dapat Diskalakan - grafik vektor yang dapat diskalakan). Menurut spesifikasi W3.org, SVG didefinisikan sebagai:

Bahasa untuk mendeskripsikan grafik dua dimensi dalam XML. SVG memungkinkan penggunaan tiga jenis objek: bentuk grafik vektor (misalnya, jalur yang terdiri dari garis lurus dan kurva), gambar, dan teks.

Padahal sejak Agustus 2011 SVG sudah masuk dalam rekomendasi W3C, teknologi ini praktis tidak digunakan dalam proyek web, meskipun memiliki sejumlah keunggulan dibandingkan bitmap. Dalam rangkaian tutorial ini, kami akan memperkenalkan cara bekerja dengan elemen SVG di halaman web.

Manfaat SVG

Kemerdekaan Resolusi

Gambar raster bergantung pada resolusi. Grafik menjadi tidak dapat ditampilkan saat diubah ukurannya ke skala tertentu. Dengan grafik vektor, situasi seperti itu pada prinsipnya tidak mungkin, karena semuanya diwakili oleh ekspresi matematika yang dihitung ulang secara otomatis ketika skala berubah, dan kualitas dipertahankan dalam kondisi apa pun.

Mengurangi jumlah permintaan HTTP

SVG dapat disematkan langsung ke dalam dokumen HTML menggunakan tag svg, sehingga browser tidak perlu diminta untuk menampilkan grafik. Pendekatan ini berdampak baik pada karakteristik pemuatan situs web.

Gaya dan skrip

Menyematkan dengan tag svg juga memudahkan untuk menata grafik menggunakan CSS. Anda dapat mengubah properti objek seperti warna latar belakang, transparansi, batas, dan sebagainya. Demikian pula, grafik dapat dimanipulasi dengan JavaScript.

Mudah untuk diedit dan dianimasikan

Objek SVG dapat dianimasikan menggunakan CSS atau JavaScript. Selain itu, objek SVG dapat dimodifikasi menggunakan editor teks.

Ukuran file lebih kecil

SVG memiliki ukuran file yang lebih kecil dibandingkan dengan grafis raster.

Bentuk SVG Dasar

Sesuai dengan spesifikasinya, kita dapat menggambar beberapa bentuk dasar: garis, polyline, persegi panjang, lingkaran, elips. Semua elemen harus dimasukkan ke dalam tag ... . Pertimbangkan elemen dasar secara rinci.

Garis

Elemen digunakan untuk menggambar garis di SVG . Itu menarik segmen yang harus ditentukan dua titik: awal dan akhir.

Awal segmen ditentukan oleh atribut x1 dan y1, dan titik akhir ditentukan oleh koordinat pada atribut x2 dan y2.

Ada juga dua atribut lainnya (goresan dan lebar guratan) yang masing-masing digunakan untuk menentukan warna dan lebar garis.

Objek ini mirip dengan , tetapi dengan elemen Anda dapat menggambar banyak garis sekaligus.

Elemen Berisi atribut poin, yang digunakan untuk menentukan koordinat titik.

Persegi panjang dirender dengan elemen . Kita perlu menentukan lebar dan tinggi.

Untuk menggambar lingkaran, gunakan elemen . Dalam contoh berikut, kami membuat lingkaran dengan radius 100 , yang didefinisikan dalam atribut r :

Dua atribut pertama cx dan cy menentukan koordinat pusat. Dalam contoh di atas, kami telah menyetel kedua koordinat ke 102. Nilai default adalah 0.

Untuk menggambar elips, gunakan elemen . Ini berfungsi seperti lingkaran, tetapi kita dapat secara khusus mengatur jari-jari x dan y menggunakan atribut rx dan ry:

Elemen Menampilkan bentuk polihedral seperti segitiga, segi enam, dan sebagainya. Sebagai contoh:

Menggunakan editor untuk grafik vektor

Merender objek SVG sederhana ke HTML itu mudah. Namun, seiring meningkatnya kompleksitas objek, praktik ini dapat menyebabkan banyak pekerjaan yang harus diselesaikan.

Tetapi Anda dapat menggunakan editor apa pun untuk grafik vektor (misalnya, Adobe Ilustrator atau inkscape) untuk membuat objek. Jika Anda memiliki alat seperti itu, jauh lebih mudah untuk menggambar objek yang diperlukan di dalamnya daripada menyandikan grafik dalam tag HTML.

Anda dapat menyalin perintah untuk grafik vektor dari file ke dokumen HTML. Atau, Anda dapat menyematkan file .svg menggunakan salah satu elemen berikut: embed , iframe , dan object .

Hasilnya akan sama.

Dukungan Peramban

SVG memiliki dukungan yang baik di sebagian besar browser modern, kecuali IE versi 8 dan sebelumnya. Tetapi tugas tersebut dapat diselesaikan dengan menggunakan pustaka JavaScript. Untuk mempermudah, Anda dapat menggunakan alat ReadySetRaphael.com untuk mengonversi kode SVG ke format Raphael.

Pertama, kami memuat dan menyertakan perpustakaan dalam dokumen HTML. Kemudian kami memuat file .svg, salin dan tempel kode yang dihasilkan ke dalam fungsi setelah memuat:

Di tag body kita tempatkan elemen div berikut dengan ID rsr .

Dan semuanya sudah siap.

Dalam tutorial berikutnya dalam seri ini, kita akan melihat cara menata objek SVG di CSS.

(Artikel ikhtisar mengikuti konferensi pengembangan perangkat lunak di Yekaterinburg dan presentasi lainnya. Versi video laporan di Yekaterinburglihat techdays.ru )

Apa itu HTML5 Canvas dan SVG?

Kanvas HTML5

– elemennya adalah kanvas untuk merender grafik bitmap. Sebenarnya, ini adalah blok kosong dimensi yang diberikan, di mana Anda dapat menggambar menggunakan API khusus untuk JavaScript.

API mencakup 45 metode khusus dan 21 atribut yang digunakan untuk menampilkan primitif grafis, mengatur gaya, transformasi, mengakses piksel individual, gambar proyek, dan video.

Saya sendiri elemen didefinisikan langsung dalam spesifikasi HTML5. API untuk itu dijelaskan dalam dokumen terpisah -- HTML Canvas 2D Context .

SVG

Musik Bisa Menyenangkan

Gim visualisasi musik yang indah (http://musiccanbefun.edankwan.com/).

Contoh Skema SVG

Diagram Kerangka Manusia, Tabel Periodik Unsur Kimia, dan Sistem Pernapasan (http://ie.microsoft.com/testdrive/Graphics/RealWorldDataAndDiagrams/Default.xhtml).

Peta Yandex

Contoh kehidupan nyata yang lebih dekat menggunakan SVG saat merender rute (jika browser mendukungnya). Lihat juga pembicaraan "Peta dan SVG" dari Kamp HTML5 kami.

Lebih banyak contoh:

  • Keindahan Web http://www.beautyoftheweb.com/ - situs nyata dari dunia nyata
  • Dev: unplugged http://contest.beautyoftheweb.com/ - proyek yang berpartisipasi dalam kompetisi aplikasi HTML5

Perbedaan antara Kanvas dan SVG

Dalam berbagai skenario, Canvas atau SVG mungkin lebih cocok untuk rendering grafik yang dinamis - kami akan kembali ke masalah ini di bagian akhir. Sementara itu, mari fokus pada perbedaan utama antara yang satu dengan yang lainnya:

Kanvas SVG
Format Raster Vektor
Penskalaan
Mengakses

Akses Piksel Individu (RGBA)

Akses elemen individual (DOM)

Indeksabilitas dan Aksesibilitas

Hanya raster terakhir yang terlihat (Anda tidak dapat memilih bentuk, teks, dll.) - buruk untuk Aksesibilitas

Anda dapat melihat strukturnya (misalnya, menarik seluruh teks)

Penyesuaian dgn mode

Gaya visual disetel saat merender melalui API

Gaya visual diatur oleh atribut, Anda dapat menyertakan CSS

Pemrograman

JS API untuk bekerja dengan primitif

DOM untuk bekerja dengan elemen

Memperbarui

Untuk memperbarui - menggambar atau menggambar ulang sepenuhnya

Dimungkinkan untuk mengubah elemen individu

Perkembangan

Tidak ada cara mudah untuk menangani peristiwa mouse. Objek di bawah kursor harus ditentukan secara manual.

Acara dari mouse melalui DOM dengan mudah ditutup, diproses secara otomatis.

Integrasi kode

Kode JS terpisah dari Canvas

Anda dapat memasukkan JS di dalamnya

Perbedaan ini harus diperhitungkan saat menggunakan teknologi tertentu untuk visualisasi data. Misalnya, menggambar grafik fungsi bisa lebih mudah dengan Canvas, sedangkan menampilkan tooltips (dengan definisi objek di bawah penunjuk tetikus) lebih mudah dengan SVG.

Namun dalam praktiknya, sudah ada sejumlah pustaka siap pakai untuk visualisasi data yang mengimbangi sebagian perbedaan ini.

Saya tidak akan membahas dasar-dasar bekerja dengan masing-masing teknologi, sebagai pengantar saya merekomendasikan laporan oleh Vadim Makeev (Opera) dari HTML5 Camp "Dynamic Graphics: Canvas and SVG".

Lihat juga laporan MIX 2011:

Pemrosesan Gambar dengan Kanvas

Salah satu fitur penting dari Canvas adalah bahwa teknologi ini menyediakan akses piksel demi piksel ke data yang ditampilkan dan memungkinkan berbagai elemen grafik, termasuk video, untuk diproyeksikan ke kanvas.

Contoh bagus di mana ini diperlukan adalah dalam tugas pemrosesan/analisis gambar.

Processing.js menawarkan dua pendekatan untuk deskripsi visualisasi: kode perantara, diuraikan lebih lanjut oleh perpustakaan itu sendiri (dalam file terpisah atau di dalam halaman) dan kode JavaScript eksplisit.

Misalnya, untuk menggambar kumpulan Mandelbrot fraktal, Anda dapat menggunakan opsi yang tercantum di halaman dengan contoh yang sesuai, atau kode JavaScript berikut:

var xmin = -2.5; variasi min = -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) / (pemrosesan.lebar); var dy = (ymax - ymin) / (pemrosesan.tinggi); var y = ymin; untuk (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) ( istirahat ; ) n++; ) if (n == maxiterations) processing.pixels.setPixel(i+j*processing.width, 0); selain itu pemrosesan.piksel.setPixel(i+j*pemrosesan.lebar, pemrosesan.warna(n*16 % 255)); x += dx; ) y += dy; ) memproses.updatePixels(); ); ) var kanvas = document.getElementById("myCanvas" ); var p = Pemrosesan baru (kanvas, sketchProc);

Anda dapat mencobanya sendiri di sini: http://silverbook.ru/projects/html5datavisualization/demo3-processingjs.htm (salin kodenya, rekatkan ke konsol dan jalankan).

Perangkat InfoVis JavaScript (JIT)

Untuk menampilkan data, JIT menerima nilai mentah sebagai JSON:

var json = ( "label" : ["label A" , "label B" , "label C" , "label D" ], "nilai" : [ ( "label" : "tanggal A" , "nilai" : ) , ("label" : "tanggal B" , "nilai" : ), ("label" : "tanggal E" , "nilai" : ), ( "label" : "tanggal F" , "nilai" : ), ( "label" : "tanggal D" , "nilai" : ), ( "label" : "tanggal C" , "nilai" : )] ); var pieChart = new $jit.PieChart(( injectInto: "infovis" , animate: true , offset: 30, sliceOffset: 0, labelOffset: 20, ketik: "stacked:gradient" , showLabels:true , resizeLabels: 7, Label: ( type: "Native" , size: 20, family: "Arial" , color: "white" ), Tips: ( aktifkan: true , onShow: function (tip, elem) ( tip.innerHTML = " "+ elem.nama +": " + elem.nilai; ) ) ));

cukup memanggil gambar:

PieChart.loadJSON(json);

jQuery Sparklines

Visualisasi peta dengan SVG

Mari beralih ke SVG dan mulai dengan contoh sederhana. Bayangkan Anda perlu menampilkan beberapa data pada peta wilayah, apa cara termudah untuk melakukannya?

Jika Anda memiliki peta yang sudah jadi dalam bentuk SVG (saya mengambil peta Rusia dari situs Wikipedia), maka ini dilakukan dengan sangat sederhana - cukup setiap wilayah memiliki id uniknya sendiri di dalam dokumen SVG, lalu kami menyisipkan peta sebagai inline svg dan mewarnainya dengan kode sederhana dengan warna yang tepat:

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

Jika Anda melakukan hal yang sama dalam satu lingkaran, Anda sudah dapat mewarnai tidak hanya wilayah, tetapi seluruh wilayah atau bahkan seluruh negara:

var data = [(id: "KurganOblast" , nilai: 30), (id: "SverdlovskOblast" , nilai: 200), (id: "TyumenOblast" , nilai: 75), (id: "KhantiaMansia" , nilai: 100 ), (id: "YamaloNenetsAutDistrict" , nilai: 20), (id: "ChelyabinskOblast" , nilai: 150)]; untuk (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); }

Perpustakaan untuk memvisualisasikan data dengan SVG

Seperti yang saya katakan, baik Canvas maupun SVG cocok untuk menyelesaikan tugas tradisional memvisualisasikan data numerik dalam bentuk grafik dan bagan. Dalam kedua kasus, ini cukup mudah dilakukan dengan perpustakaan yang sesuai.

Kita telah melihat contoh Canvas, sekarang mari kita lihat beberapa library untuk bekerja dengan SVG. (Ini juga bukan daftar lengkap, melainkan solusi berkualitas tinggi dan populer.)

Raphael

Untuk menambahkan sederhana Pie chart cukup kode seperti ini:

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

Dengan beberapa operasi tambahan, Anda dapat menambahkan legenda, keterangan bagan, dan tooltips interaktif:

var r = Raphael("bagan" , 640, 480); r.g.txtattr.font = "12px "Fontin Sans", Fontin-Sans, sans-serif"; r.g.text(320, 100, "Bagan Pie Interaktif" ).attr(("font-size" : 20)); var pie = rg.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 (ini .label) ( ini .label.animate((skala: 1), 500, "bounce" ); this .label.attr(("font-weight" : 400)); ) ));

Demikian pula, Anda dapat menampilkan jenis bagan lainnya menggunakan metode yang sesuai. Lihat contoh langsung di situs ekstensi http://g.raphaeljs.com/

Grafik tinggiJS

Library API memudahkan pembuatan bagan dari data di JSON:

var chart1 = new Highcharts.Chart(( chart: ( renderTo: "charts" , defaultSeriesType: "bar" ), title: ( text: "Fruit Consumption" ), xAxis: ( kategori: ["Apel" , "Pisang" , "Jeruk" ] ), yAxis: ( title: ( teks: "Buah dimakan" ) ), series: [( name: "Jane" , data: ), ( name: "John" , data: )] ));

Dengan skrip yang sedikit lebih rumit, Anda dapat menentukan detail tambahan, misalnya menampilkan legenda, menyiapkan petunjuk alat:

var chart = new Highcharts.Chart(( chart: ( renderTo: "charts" , defaultSeriesType: "area" , spacingBottom: 30 ), title: ( teks: "Konsumsi buah *" ), subtitle: ( teks: "* Konsumsi pisang Jane tidak diketahui", floating: true , align: "right" , verticalAlign: "bottom" , y: 15 ), legenda: ( layout: "vertical" , align: "left" , verticalAlign: "top" , x: 150, y: 100 , floating: true , borderWidth: 1, backgroundColor: "#FFFFFF" ), xAxis: ( kategori: ["Apel" , "Pir" , "Jeruk" , "Pisang" , "Anggur" , "Plum" , "Stroberi" , "Raspberry" ] ), yAxis: ( title: ( teks: "Y-Axis" ), label: ( formatter: function () ( mengembalikan .nilai ini; ) ) ), tooltip: ( formatter: function () ( mengembalikan " "+ini.seri.nama+"
" + this .x +": " + this .y; ) ), plotOptions: ( area: ( fillOpacity: 0.5 ) ), series: [( name: "John" , data: ), ( name: "Jane" , data: )] ));

Jika perlu, Anda dapat mengganti gaya default dengan gaya Anda sendiri.

Apa yang harus dipilih: Kanvas atau SVG?

Seperti yang dapat Anda lihat dari contoh di atas, kedua teknologi tersebut seringkali cocok untuk tugas visualisasi data. Banyak hal dilakukan dengan cara serupa. Dalam kasus di mana keluaran piksel demi piksel diperlukan, Canvas jelas lebih cocok. Di mana diagram dipecah menjadi objek terpisah yang perlu interaktif, SVG lebih cocok.

Kanvas lebih baik
  • Mengedit grafik bitmap
  • Menerapkan efek ke grafik/video
  • Pembuatan grafik raster (visualisasi data, fraktal, grafik fungsi)
  • Analisis gambar
  • Grafik game (sprite, latar belakang, dll.)
SVG lebih baik
  • Antarmuka yang Dapat Diskalakan
  • Antarmuka interaktif
  • Diagram, skema
  • Pengeditan Gambar Vektor

Dalam bentuk grafik, ini dapat direpresentasikan sebagai berikut:

Terakhir, pemotongan penting lainnya yang juga penting untuk dipertimbangkan saat memilih teknologi adalah performa rendering saat menggunakan Canvas dan SVG:

Dalam praktiknya, kanvas berfungsi lebih baik dengan ukuran area render kecil dan objek dalam jumlah besar, di SVG lebih cocok saat menskalakan atau menampilkan di layar besar dan tidak terlalu dalam jumlah besar mengeluarkan objek sekaligus.

Kesimpulan ini mengikuti laporan ketua dewan Bashneft, yang diumumkan kepada rapat umum pemegang saham perusahaan, yang salinannya diberikan kepada editor.

Berdasarkan dokumen tersebut, dari hasil eksplorasi geologi, pada tahun 2018 ditemukan 81 endapan produktif dengan cadangan 19 juta ton.

Pada saat yang sama, penggunaan langkah-langkah geologis dan teknis yang sangat efektif dan pengenalan teknologi modern untuk pemulihan minyak yang ditingkatkan memungkinkan untuk mempertahankan produksi minyak di ladang matang di Bashkiria pada level 2017 sebesar 15 juta ton setelah hasil 11 bulan. . Total volume produksi untuk periode tertentu mencapai 17,3 juta ton minyak.

Laporan tersebut juga mencatat bahwa penciptaan rantai produksi tunggal dengan kompleks produksi dan pemrosesan Rosneft telah meningkatkan efisiensi kilang Ufa dan menyebabkan pengurangan biaya operasi dan logistik. Secara khusus, produksi bensin Euro-6 telah dikuasai dan produksi industri aspal jalan sesuai dengan GOST baru telah dimulai.

Volume penjualan eceran SPBU Bashneft selama 11 bulan tahun 2018 meningkat 13,2 persen dibandingkan periode yang sama tahun lalu dan mencapai 1,7 juta ton.

Untuk menerapkan strategi di bidang petrokimia, produksi petrokimia sedang dimodernisasi. Jadi, pada Mei 2018, Ufaorgsintez dioperasikan instalasi baru produksi cumene - bahan baku untuk pembuatan cat, pelarut, berbagai polimer yang digunakan dalam industri otomotif, kedokteran, dan farmakologi. Berikutnya adalah rekonstruksi kompleks produksi aromatik di Ufaneftekhim, pembangunan unit produksi olefin baru di Ufaorgsintez.

Indikator konsolidasi laba operasi selama 9 bulan 2018 meningkat 22,6 persen dibandingkan periode yang sama tahun 2017 dan berjumlah 135,5 miliar rubel. Laba bersih Bashneft mencapai 74,6 miliar rubel, naik 73,5 persen dibandingkan periode yang sama tahun lalu.

Selama kuartal ketiga, Bashneft membayar dividen pemegang saham yang diumumkan pada rapat tahunan pada Juni 2018 sebesar 28,2 miliar rubel, dan jumlah total dividen yang dibayarkan sejak awal tahun berjumlah 43 miliar rubel.

Pada saat yang sama, tingkat hutang bersih perusahaan menurun dan per 30 September 2018 berjumlah 40,1 miliar rubel (pada tanggal yang sama tahun 2017, angka ini adalah 104,7 miliar rubel).

Pada saat yang sama, selama periode pelaporan, pengurangan pajak ke anggaran Bashkortostan, dengan memperhitungkan pembayaran pajak penghasilan satu kali, meningkat 1,5 kali lipat dibandingkan periode yang sama tahun lalu dan berjumlah 50,5 miliar rubel.

Ada tag untuk menyertakan gambar di tempat tertentu di halaman. . Tag ini memiliki parameter wajib: SRC="", dan beberapa parameter opsional. Parameter SRC="" memberi tahu browser tempat mencari grafik dan harus memiliki nilai URL sumber daya tempat file grafik berada. Dalam kasus paling sederhana, file ini akan ditempatkan di direktori root atau di folder IMG situs Anda. Parameter opsional:

Parameter ALT="" berisi prasasti sebagai nilai yang menceritakan tentang konten gambar untuk pengunjung yang browsernya tidak mendukung grafik atau bekerja dalam mode grafik yang dinonaktifkan. Prasasti yang sama muncul saat Anda mengarahkan mouse ke atas gambar.

Parameter WIDTH="" HEIGHT="" memiliki nilai dimensi gambar dalam hal lebar dan tinggi dalam piksel. Sebaiknya tentukan parameter ini dalam kode halaman sehingga browser menyisakan ruang untuk gambar terlebih dahulu, kemudian, saat memuat, halaman akan "berkedut" lebih sedikit. Selain itu, parameter ini dapat digunakan untuk mengatur ukuran gambar di jendela browser.

Parameter BORDER="" menggambar batas di sekitar gambar. Nilainya adalah angka yang menunjukkan lebar bingkai dalam piksel.

Parameter ALIGN= menentukan posisi gambar pada halaman, dan dapat mengambil nilai TOP - menyelaraskan batas atas gambar dengan elemen tertinggi dari baris saat ini, TEXTTOP - menyelaraskan batas atas gambar dengan yang tertinggi elemen teks dari baris saat ini, MIDDLE - menyelaraskan bagian tengah gambar dengan garis dasar baris saat ini , ABSMIDDLE - menyelaraskan bagian tengah gambar ke tengah baris saat ini. BASELINE atau BOTTOM - menyelaraskan batas bawah gambar dengan garis dasar garis saat ini, ABSBOTTOM - menyelaraskan batas bawah gambar dengan batas bawah garis saat ini, HSPACE= - menentukan lekukan horizontal, VSPACE= - menentukan lekukan vertikal.

Sintaks tag:

Jantung

Garis lari diatur oleh tag .

Atribut dari tag ini adalah bgcolor - warna latar belakang garis bergulir, tinggi - tinggi garis, lebar - lebar garis.

Direction - mengatur arah pergerakan ticker - direction="left" (kanan, atas, bawah) - pergerakan ke kiri (kanan, atas, bawah).

Perilaku - perilaku string - perilaku="gulir" (geser, alternatif). Gulir - pengguliran normal (Anda tidak dapat meresepkannya, ini adalah default)



Slide - bergulir dengan berhenti, garis berjalan ke tepi dan berhenti. Jika parameter loop digunakan bersamaan dengan behavor="slide" , maka garis akan bergulir beberapa kali dan berhenti di tepi. Bergantian - garis akan berpindah dari ujung ke ujung.
Scrollamount - kecepatan baris, scrollamount="1". Dapat mengambil nilai dari 1 hingga 10. 1 adalah gerakan paling lambat, 10 adalah yang tercepat.

Sintaks tag: teks

Browser web modern dapat memutar file video dan audio dalam berbagai format. Untuk melakukan ini, mereka menggunakan pemutar bawaan (plug-in, kontrol ActiveX) atau program pemutar eksternal. Anda dapat memasukkan suara atau video ke dalam dokumen HTML menggunakan berbagai tag:

- untuk memasukkan suara latar belakang;

- untuk menyisipkan video dalam format AVI;

- untuk memasukkan file suara dan video;

- untuk memasukkan file suara dan video.

Saat memutuskan untuk menyematkan audio dan/atau video ke dalam dokumen HTML, perlu diingat bahwa file terkait cukup besar. Yang paling populer di web sekarang adalah format video MP3, WMA, AIFF, AU, RealAudio (ra dan ram), MP4, MIDI dan MPEG, MOV. Format audio WAV dan format video AVI jarang digunakan di Internet.