Catatan Teknis zhaoJian

Kursus IT Dasar HTML 015_Fitur Baru HTML5

Pembelajaran / Dasar HTML ~11738 kata · 30 menit baca - dilihat

Fitur Baru HTML5

HTML5 adalah versi terbaru dari HTML dan memperkenalkan banyak tag, atribut, dan fitur baru, yang sangat meningkatkan fungsi dan interaktivitas web.

Beberapa fitur baru yang menarik di HTML5:

  • Elemen canvas untuk menggambar
  • Elemen video dan audio untuk pemutaran media
  • Dukungan yang lebih baik untuk penyimpanan lokal offline
  • Elemen konten khusus baru seperti article, footer, header, nav, section
  • Kontrol formulir baru seperti calendar, date, time, email, url, search

<canvas>

Elemen <canvas> HTML5 digunakan untuk menggambar grafik pada halaman web. Elemen <canvas> berbasis API gambar JavaScript dan dapat digunakan untuk membuat berbagai grafik, termasuk diagram, grafik, animasi, dll.

Contoh:

<canvas width="500" height="500">
Browser Anda tidak mendukung tag canvas HTML5.
</canvas>
<script>
const canvas = document.querySelector("canvas");
// Dapatkan konteks gambar
const ctx = canvas.getContext("2d");
// Gambar lingkaran
ctx.beginPath();
ctx.arc(250, 250, 100, 0, 2 * Math.PI);
ctx.fillStyle = "yellow";
ctx.fill();
</script>

Efek:

Efek contoh


<svg>

Elemen SVG HTML5 digunakan untuk membuat grafik SVG pada halaman web. Grafik SVG adalah grafik vektor berbasis XML yang dapat diskalakan tanpa kehilangan kualitas dan cocok untuk berbagai tujuan, termasuk:

Elemen SVG meliputi:

  • Elemen <svg>: Mendefinisikan elemen root grafik SVG.
  • Elemen <path>: Mendefinisikan bentuk jalur.
  • Elemen <rect>: Mendefinisikan bentuk persegi panjang.
  • Elemen <circle>: Mendefinisikan bentuk lingkaran.
  • Elemen <ellipse>: Mendefinisikan bentuk elips.
  • Elemen <line>: Mendefinisikan garis lurus.
  • Elemen <polygon>: Mendefinisikan poligon.
  • Elemen <polyline>: Mendefinisikan polyline.
  • Elemen <text>: Mendefinisikan teks.
  • Elemen <g>: Mendefinisikan grup, digunakan untuk mengelompokkan elemen SVG bersama-sama.
  • Elemen <defs>: Mendefinisikan atribut global yang dapat diterapkan pada beberapa elemen SVG.

Contoh:

<svg width="500" height="500">
<circle cx="250" cy="250" r="100" fill="yellow" />
</svg>

Efek:

Efek contoh

SVG dan Canvas keduanya adalah alat untuk membuat grafik pada halaman web. Keduanya memiliki kelebihan dan kekurangan masing-masing dan cocok untuk skenario yang berbeda.

SVG adalah grafik vektor berbasis XML yang dapat diskalakan tanpa kehilangan kualitas. Ini berarti grafik SVG dapat ditampilkan dalam ukuran apa pun tanpa kehilangan kualitas. Grafik SVG juga dapat dimanipulasi dan dianimasikan menggunakan CSS dan JavaScript.

Canvas adalah API gambar berbasis JavaScript yang dapat membuat grafik bitmap. Ini berarti grafik Canvas tidak dapat diskalakan tanpa kehilangan kualitas, tetapi grafik yang lebih kompleks dapat dibuat menggunakan JavaScript. Grafik Canvas juga dapat dimanipulasi dan dianimasikan menggunakan JavaScript.

Perbedaan spesifik antara SVG dan Canvas:

KarakteristikSVGCanvas
Jenis gambarVektorBitmap
PenskalaanTanpa kehilanganDengan kehilangan
Jenis grafikPersegi panjang, lingkaran, jalur, dll.Apa saja
ManipulasiCSS, JavaScriptJavaScript
AnimasiCSS, JavaScriptJavaScript
Ukuran fileBiasanya lebih kecilBiasanya lebih besar
AksesibilitasSangat baikSedang
  • SVG cocok untuk skenario:

    • Grafik yang perlu diskalakan tanpa kehilangan kualitas, seperti ikon, logo, ilustrasi
    • Grafik yang perlu dimanipulasi dan dianimasikan dengan CSS dan JavaScript
  • Canvas cocok untuk skenario:

    • Skenario yang memerlukan grafik kompleks, seperti game, animasi
    • Skenario yang memerlukan operasi kompleks dengan JavaScript

Formulir HTML5

HTML5 memperkenalkan beberapa tipe input dan atribut baru untuk meningkatkan fungsi dan kemudahan penggunaan formulir.

Elemen formulir baru:

  • Elemen <datalist>: Digunakan untuk daftar opsi yang telah ditentukan sebelumnya untuk elemen <input>.

Contoh:

<label for="browser">Pilih browser:</label>
<input list="browsers" id="browser" name="browser" autocomplete="off">
<datalist id="browsers">
<option value="Chrome">
<option value="Firefox">
<option value="Safari">
<option value="Edge">
<option value="Opera">
</datalist>

Efek:

Efek contoh

ElemenDeskripsi
<datalist>Mendefinisikan daftar opsi yang telah ditentukan sebelumnya untuk elemen <input>.
<output>Mewakili hasil perhitungan.
<keygen>Membuat pasangan kunci untuk formulir, biasanya digunakan untuk pertukaran kunci.
<progress>Mendefinisikan bilah kemajuan untuk jenis tugas apa pun.
<meter>Mengukur nilai skalar atau pecahan dalam rentang yang diketahui.

Atribut formulir baru:

  • Atribut autocomplete <form> / <input>: Menentukan bahwa field form atau input harus memiliki fungsi pelengkapan otomatis. Ketika pengguna mulai mengetik di field pelengkapan otomatis, browser harus menampilkan opsi yang diisi di field tersebut.

Contoh:

<form action="demo-form.php" autocomplete="on">
Nama keluarga:<input type="text" name="fname"><br>
Nama depan:<input type="text" name="lname"><br>
Email:<input type="email" name="email" autocomplete="off"><br>
<input type="submit">
</form>

Efek:

Efek contoh

AtributDeskripsi
autocompleteMenentukan apakah field input harus mengaktifkan fungsi pelengkapan otomatis.
novalidateMencegah browser memvalidasi formulir.
formMenentukan formulir tempat elemen <input> berada, mengaitkannya dengan formulir tertentu.
formactionMenentukan URL yang akan digunakan saat mengirim formulir.
formenctypeMenentukan tipe pengkodean yang akan digunakan saat mengirim formulir (misalnya, application/x-www-form-urlencoded atau multipart/form-data).
formmethodMenentukan metode HTTP yang akan digunakan saat mengirim formulir (misalnya, get atau post).
formnovalidateMenonaktifkan validasi formulir browser saat mengirim formulir.
formtargetMenentukan jendela atau frame target yang akan dibuka setelah mengirim formulir.
heightMengatur tinggi elemen <input type="image">.
widthMengatur lebar elemen <input type="image">.
listMenentukan ID elemen <datalist> yang terkait dengan elemen <input> atau <textarea>.
minMenentukan nilai minimum elemen <input>.
maxMenentukan nilai maksimum elemen <input>.
patternMendefinisikan ekspresi reguler untuk memvalidasi field input saat mengirim formulir.
placeholderMemberikan petunjuk singkat untuk field input, yang hanya ditampilkan ketika field kosong.
requiredMenentukan apakah field input adalah field wajib.
stepMenentukan interval angka legal elemen <input>.

Tipe input baru:

<form action="/submit" method="post">
<label for="name">Nama:</label>
<input type="text" id="name" required />
<br>
<label for="email">Alamat email:</label>
<input type="email" id="email" required />
<br>
<label for="birthday">Tanggal lahir:</label>
<input type="date" id="birthday" required />
<br>
<label for="phone">Nomor telepon:</label>
<input type="tel" id="phone" required />
<br>
<input type="submit" value="Kirim" />
</form>

Efek:

Efek contoh

TipeFungsi
colorUntuk memasukkan nilai warna.
dateUntuk memasukkan nilai tanggal.
datetime-localUntuk memasukkan nilai tanggal dan waktu.
emailUntuk memasukkan alamat email.
fileUntuk mengunggah file.
monthUntuk memasukkan nilai bulan.
numberUntuk memasukkan nilai numerik.
rangeUntuk memasukkan nilai rentang.
searchUntuk memasukkan string pencarian.
telUntuk memasukkan nomor telepon.
timeUntuk memasukkan nilai waktu.
urlUntuk memasukkan alamat URL.

[!Ringkasan]

ElemenFungsiDirekomendasikan?
Elemen baru
<canvas>Mendefinisikan grafik seperti diagram dan gambar lainnya. Tag ini berbasis API gambar JavaScript.Direkomendasikan
<audio>Mendefinisikan konten audioDirekomendasikan
<video>Mendefinisikan video (video atau film)Direkomendasikan
<source>Mendefinisikan sumber daya multimedia untuk <video> dan <audio>Direkomendasikan
<track>Mendefinisikan subtitle atau terjemahan untuk audio atau videoDirekomendasikan
<datalist>Mendefinisikan daftar opsi. Gunakan elemen ini bersama dengan elemen input untuk mendefinisikan nilai yang mungkin dari input.Direkomendasikan
<keygen>Menentukan field generator pasangan kunci untuk formulir.Direkomendasikan
<output>Mendefinisikan berbagai jenis output, seperti output skrip.Direkomendasikan
<article>Mendefinisikan area konten independen halaman.Direkomendasikan
<aside>Mendefinisikan konten sidebar halaman.Direkomendasikan
<bdi>Memungkinkan Anda mengatur bagian teks yang terlepas dari pengaturan arah teks elemen induknya.Direkomendasikan
<dialog>Mendefinisikan kotak dialog.Direkomendasikan
<figure>Mendefinisikan area yang berisi gambar atau konten visual lainnya.Direkomendasikan
<footer>Mendefinisikan area bawah halaman atau bagian halaman.Direkomendasikan
<header>Mendefinisikan area atas halaman atau bagian halaman.Direkomendasikan
<main>Mendefinisikan area konten utama halaman.Direkomendasikan
<mark>Mendefinisikan teks penting atau yang disorot.Direkomendasikan
<meter>Mendefinisikan kemajuan atau rentang nilai.Direkomendasikan
<nav>Mendefinisikan area navigasi halaman atau bagian halaman.Direkomendasikan
<progress>Mendefinisikan bilah kemajuan.Direkomendasikan
<time>Mendefinisikan tanggal atau waktu.Direkomendasikan
<wbr>Memungkinkan penyisipan karakter dapat diputus dalam teks.Direkomendasikan
Elemen yang tidak digunakan lagi atau tidak direkomendasikan
<acronym>Mendefinisikan akronim. Disarankan untuk menggunakan elemen <abbr> sebagai gantinya.Direkomendasikan
<applet>Mendefinisikan applet Java. Disarankan untuk menggunakan JavaScript atau teknologi modern lainnya sebagai gantinya.Tidak direkomendasikan
<basefont>Mengatur ukuran dan warna font default untuk semua teks di halaman. Disarankan untuk menggunakan CSS untuk mengatur gaya teks.Tidak direkomendasikan
<big>Mengatur ukuran font teks. Disarankan untuk menggunakan CSS untuk mengatur gaya teks.Tidak direkomendasikan
<center>Memaksa perataan teks tengah. Disarankan untuk menggunakan CSS untuk mengatur perataan teks.Tidak direkomendasikan
<dir>Mendefinisikan daftar direktori. Disarankan untuk menggunakan elemen <ul> sebagai gantinya.Tidak direkomendasikan
<font>Mengatur ukuran, warna, gaya, dll. font teks. Disarankan untuk menggunakan CSS untuk mengatur gaya teks.Tidak direkomendasikan
<frame>Mendefinisikan frame. Disarankan untuk menggunakan elemen iframe sebagai gantinya.Tidak direkomendasikan
<frameset>Mendefinisikan frameset. Disarankan untuk menggunakan elemen iframe sebagai gantinya.Tidak direkomendasikan
<noframes>Menyediakan konten alternatif untuk browser yang tidak mendukung frame. Disarankan untuk menggunakan JavaScript untuk menentukan apakah browser mendukung frame dan menampilkan atau menyembunyikan konten sesuai kebutuhan.Tidak direkomendasikan
<strike>Mengatur gaya coret teks. Disarankan untuk menggunakan CSS untuk mengatur gaya teks.Tidak direkomendasikan
<tt>Mengatur font monospace teks. Disarankan untuk menggunakan CSS untuk mengatur font teks.Tidak direkomendasikan
Bagikan:

Komentar