บันทึกเทคนิคของ zhaoJian

คอร์ส IT พื้นฐาน HTML 015_คุณสมบัติใหม่ของ HTML5

การเรียนรู้ / พื้นฐาน HTML ~1467 คำ · อ่าน 6 นาที - ครั้งที่อ่าน

คุณสมบัติใหม่ของ HTML5

HTML5 เป็นเวอร์ชันล่าสุดของ HTML ซึ่งนำเสนอแท็ก คุณสมบัติ และฟังก์ชันใหม่มากมาย เพิ่มความสามารถและการโต้ตอบของเว็บอย่างมาก

คุณสมบัติใหม่ที่น่าสนใจของ HTML5:

  • องค์ประกอบ canvas สำหรับการวาดภาพ
  • องค์ประกอบ video และ audio สำหรับการเล่นสื่อ
  • การรองรับที่ดีขึ้นสำหรับการจัดเก็บออฟไลน์ในเครื่อง
  • องค์ประกอบเนื้อหาพิเศษใหม่ เช่น article, footer, header, nav, section
  • ตัวควบคุมฟอร์มใหม่ เช่น calendar, date, time, email, url, search

<canvas>

องค์ประกอบ HTML5 <canvas> ใช้สำหรับการวาดกราฟิกในหน้าเว็บ องค์ประกอบ <canvas> ใช้ API การวาดภาพแบบ JavaScript และสามารถใช้สำหรับสร้างกราฟิกต่างๆ รวมถึงแผนภูมิ กราฟิก แอนิเมชัน เป็นต้น

ตัวอย่าง:

<canvas width="500" height="500">
เบราว์เซอร์ของคุณไม่รองรับแท็ก HTML5 canvas
</canvas>
<script>
const canvas = document.querySelector("canvas");
// รับบริบทการวาดภาพ
const ctx = canvas.getContext("2d");
// วาดวงกลม
ctx.beginPath();
ctx.arc(250, 250, 100, 0, 2 * Math.PI);
ctx.fillStyle = "yellow";
ctx.fill();
</script>

ผลลัพธ์:

ผลลัพธ์ตัวอย่าง


<svg>

องค์ประกอบ SVG HTML5 ใช้สำหรับสร้างกราฟิก SVG ในหน้าเว็บ กราฟิก SVG เป็นกราฟิกเวกเตอร์ที่ใช้ XML เป็นพื้นฐาน สามารถขยายได้โดยไม่สูญเสียคุณภาพ และเหมาะสมกับวัตถุประสงค์ต่างๆ รวมถึง:

องค์ประกอบ SVG ประกอบด้วย:

  • องค์ประกอบ <svg>: กำหนดองค์ประกอบรากของกราฟิก SVG
  • องค์ประกอบ <path>: กำหนดรูปร่างเส้นทาง
  • องค์ประกอบ <rect>: กำหนดรูปร่างสี่เหลี่ยมผืนผ้า
  • องค์ประกอบ <circle>: กำหนดรูปร่างวงกลม
  • องค์ประกอบ <ellipse>: กำหนดรูปร่างวงรี
  • องค์ประกอบ <line>: กำหนดเส้นตรง
  • องค์ประกอบ <polygon>: กำหนดรูปหลายเหลี่ยม
  • องค์ประกอบ <polyline>: กำหนดเส้นหัก
  • องค์ประกอบ <text>: กำหนดข้อความ
  • องค์ประกอบ <g>: กำหนดกลุ่ม ใช้สำหรับจัดกลุ่มองค์ประกอบ SVG เข้าด้วยกัน
  • องค์ประกอบ <defs>: กำหนดคุณสมบัติทั่วไป สามารถใช้กับองค์ประกอบ SVG หลายตัว

ตัวอย่าง:

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

ผลลัพธ์:

ผลลัพธ์ตัวอย่าง

SVG และ Canvas เป็นเครื่องมือสำหรับสร้างกราฟิกในหน้าเว็บ ทั้งสองมีข้อดีและข้อเสียของตัวเอง เหมาะสมกับสถานการณ์ที่แตกต่างกัน

SVG เป็นกราฟิกเวกเตอร์ที่ใช้ XML เป็นพื้นฐาน สามารถขยายได้โดยไม่สูญเสียคุณภาพ ซึ่งหมายความว่ากราฟิก SVG สามารถแสดงผลในขนาดใดก็ได้โดยไม่สูญเสียคุณภาพ กราฟิก SVG ยังสามารถจัดการและทำแอนิเมชันโดยใช้ CSS และ JavaScript ได้

Canvas เป็น API การวาดภาพที่ใช้ JavaScript เป็นพื้นฐาน สามารถสร้างกราฟิกบิตแมปได้ ซึ่งหมายความว่ากราฟิก Canvas ไม่สามารถขยายได้โดยไม่สูญเสียคุณภาพ แต่สามารถสร้างกราฟิกที่ซับซ้อนกว่าโดยใช้ JavaScript กราฟิก Canvas ยังสามารถจัดการและทำแอนิเมชันโดยใช้ JavaScript ได้

ความแตกต่างเฉพาะระหว่าง SVG และ Canvas:

คุณสมบัติ SVG Canvas
ประเภทภาพ เวกเตอร์ บิตแมป
การขยาย ไม่สูญเสียคุณภาพ สูญเสียคุณภาพ
ประเภทกราฟิก สี่เหลี่ยมผืนผ้า วงกลม เส้นทาง เป็นต้น ใดก็ได้
การจัดการ CSS, JavaScript JavaScript
แอนิเมชัน CSS, JavaScript JavaScript
ขนาดไฟล์ โดยทั่วไปเล็กกว่า โดยทั่วไปใหญ่กว่า
การเข้าถึง ดีเยี่ยม ปานกลาง
  • SVG เหมาะสำหรับสถานการณ์:

    • กราฟิกที่ต้องการการขยายโดยไม่สูญเสียคุณภาพ เช่น ไอคอน โลโก้ ภาพประกอบ
    • กราฟิกที่ต้องการจัดการและทำแอนิเมชันโดยใช้ CSS และ JavaScript
  • Canvas เหมาะสำหรับสถานการณ์:

    • สถานการณ์ที่ต้องการสร้างกราฟิกที่ซับซ้อน เช่น เกม แอนิเมชัน
    • สถานการณ์ที่ต้องการการดำเนินการที่ซับซ้อนโดยใช้ JavaScript

ฟอร์ม HTML5

HTML5 นำเสนอประเภทการป้อนข้อมูลและคุณสมบัติใหม่บางอย่างเพื่อเพิ่มฟังก์ชันและความสะดวกในการใช้งานของฟอร์ม

องค์ประกอบฟอร์มใหม่:

  • องค์ประกอบ <datalist>: รายการตัวเลือกที่กำหนดไว้ล่วงหน้าสำหรับองค์ประกอบ <input>

ตัวอย่าง:

<label for="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>

ผลลัพธ์:

ผลลัพธ์ตัวอย่าง

องค์ประกอบ คำอธิบาย
<datalist> กำหนดรายการตัวเลือกที่กำหนดไว้ล่วงหน้าสำหรับองค์ประกอบ <input>
<output> แสดงถึงผลลัพธ์ของการคำนวณ
<keygen> สร้างคู่คีย์สำหรับฟอร์ม โดยทั่วไปใช้สำหรับการแลกเปลี่ยนคีย์
<progress> กำหนดแถบความคืบหน้าสำหรับงานประเภทใดก็ได้
<meter> วัดค่าสเกลาร์หรือเศษส่วนภายในช่วงที่ทราบ

คุณสมบัติฟอร์มใหม่:

  • คุณสมบัติ autocomplete ของ <form> / <input>: ระบุว่า form หรือฟิลด์ input ควรมีฟังก์ชันการเติมข้อความอัตโนมัติ เมื่อผู้ใช้เริ่มพิมพ์ในฟิลด์เติมข้อความอัตโนมัติ เบราว์เซอร์ควรแสดงตัวเลือกการกรอกในฟิลด์นั้น

ตัวอย่าง:

<form action="demo-form.php" autocomplete="on">
นามสกุล: <input type="text" name="fname"><br>
ชื่อ: <input type="text" name="lname"><br>
อีเมล: <input type="email" name="email" autocomplete="off"><br>
<input type="submit">
</form>

ผลลัพธ์:

ผลลัพธ์ตัวอย่าง

คุณสมบัติ คำอธิบาย
autocomplete ระบุว่าฟิลด์ป้อนข้อมูลควรเปิดใช้งานฟังก์ชันเติมข้อความอัตโนมัติหรือไม่
novalidate ปิดการตรวจสอบความถูกต้องของฟอร์มโดยเบราว์เซอร์
form ระบุฟอร์มที่องค์ประกอบ <input> เป็นสมาชิก เชื่อมโยงกับฟอร์มเฉพาะ
formaction ระบุ URL ที่จะใช้เมื่อส่งฟอร์ม
formenctype ระบุประเภทการเข้ารหัสที่จะใช้เมื่อส่งฟอร์ม (เช่น application/x-www-form-urlencoded หรือ multipart/form-data)
formmethod ระบุวิธี HTTP ที่จะใช้เมื่อส่งฟอร์ม (เช่น get หรือ post)
formnovalidate ปิดการตรวจสอบความถูกต้องของฟอร์มโดยเบราว์เซอร์เมื่อส่งฟอร์ม
formtarget ระบุหน้าต่างหรือเฟรมเป้าหมายที่จะเปิดหลังจากส่งฟอร์ม
height ตั้งค่าความสูงขององค์ประกอบ <input type="image">
width ตั้งค่าความกว้างขององค์ประกอบ <input type="image">
list ระบุ id ขององค์ประกอบ <datalist> ที่เชื่อมโยงกับองค์ประกอบ <input> หรือ <textarea>
min ระบุค่าต่ำสุดขององค์ประกอบ <input>
max ระบุค่าสูงสุดขององค์ประกอบ <input>
pattern กำหนดนิพจน์ทั่วไปเพื่อตรวจสอบฟิลด์ป้อนข้อมูลเมื่อส่งฟอร์ม
placeholder ให้คำแนะนำสั้นๆ เกี่ยวกับฟิลด์ป้อนข้อมูล แสดงเฉพาะเมื่อฟิลด์ว่างเท่านั้น
required ระบุว่าฟิลด์ป้อนข้อมูลเป็นฟิลด์บังคับหรือไม่
step ระบุช่วงตัวเลขที่ถูกต้องขององค์ประกอบ <input>

ประเภท input ใหม่:

<form action="/submit" method="post">
<label for="name">ชื่อ:</label>
<input type="text" id="name" required />
<br>
<label for="email">ที่อยู่อีเมล:</label>
<input type="email" id="email" required />
<br>
<label for="birthday">วันเกิด:</label>
<input type="date" id="birthday" required />
<br>
<label for="phone">หมายเลขโทรศัพท์:</label>
<input type="tel" id="phone" required />
<br>
<input type="submit" value="ส่ง" />
</form>

ผลลัพธ์:

ผลลัพธ์ตัวอย่าง

ประเภท ฟังก์ชัน
color ใช้สำหรับป้อนค่าสี
date ใช้สำหรับป้อนค่าวันที่
datetime-local ใช้สำหรับป้อนค่าวันที่และเวลา
email ใช้สำหรับป้อนที่อยู่อีเมล
file ใช้สำหรับอัปโหลดไฟล์
month ใช้สำหรับป้อนค่าเดือน
number ใช้สำหรับป้อนค่าตัวเลข
range ใช้สำหรับป้อนค่าช่วง
search ใช้สำหรับป้อนสตริงการค้นหา
tel ใช้สำหรับป้อนหมายเลขโทรศัพท์
time ใช้สำหรับป้อนค่าเวลา
url ใช้สำหรับป้อนที่อยู่ URL

[!สรุป]

องค์ประกอบ ฟังก์ชัน แนะนำหรือไม่
องค์ประกอบที่เพิ่มใหม่
<canvas> กำหนดกราฟิก เช่น แผนภูมิและภาพอื่นๆ แท็กนี้ใช้ API การวาดภาพ JavaScript เป็นพื้นฐาน แนะนำ
<audio> กำหนดเนื้อหาเสียง แนะนำ
<video> กำหนดวิดีโอ (video หรือ movie) แนะนำ
<source> กำหนดทรัพยากรมัลติมีเดีย <video> และ <audio> แนะนำ
<track> กำหนดคำบรรยายหรือการแปลของเสียงหรือวิดีโอ แนะนำ
<datalist> กำหนดรายการตัวเลือก ใช้องค์ประกอบนี้ร่วมกับองค์ประกอบ input เพื่อกำหนดค่าที่เป็นไปได้ของ input แนะนำ
<keygen> ระบุฟิลด์ตัวสร้างคู่คีย์สำหรับฟอร์ม แนะนำ
<output> กำหนดเอาต์พุตประเภทต่างๆ เช่น เอาต์พุตของสคริปต์ แนะนำ
<article> กำหนดพื้นที่เนื้อหาอิสระของหน้า แนะนำ
<aside> กำหนดเนื้อหาแถบด้านข้างของหน้า แนะนำ
<bdi> อนุญาตให้คุณตั้งค่าข้อความส่วนหนึ่งให้แยกออกจากการตั้งค่าทิศทางข้อความของ องค์ประกอบแม่ แนะนำ
<dialog> กำหนดกล่องโต้ตอบ แนะนำ
<figure> กำหนดพื้นที่ที่มีภาพหรือเนื้อหาภาพอื่นๆ แนะนำ
<footer> กำหนดพื้นที่ด้านล่างของหน้าหรือส่วนของหน้า แนะนำ
<header> กำหนดพื้นที่ด้านบนของหน้าหรือส่วนของหน้า แนะนำ
<main> กำหนดพื้นที่เนื้อหาหลักของหน้า แนะนำ
<mark> กำหนดข้อความที่สำคัญหรือเน้น แนะนำ
<meter> กำหนดความคืบหน้าหรือช่วงค่า แนะนำ
<nav> กำหนดพื้นที่การนำทางของหน้าหรือส่วนของหน้า แนะนำ
<progress> กำหนดแถบความคืบหน้า แนะนำ
<time> กำหนดวันที่หรือเวลา แนะนำ
<wbr> อนุญาตให้แทรกอักขระที่สามารถแบ่งบรรทัดได้ในข้อความ แนะนำ
องค์ประกอบที่เลิกใช้หรือไม่แนะนำ
<acronym> กำหนดคำย่อ แนะนำให้ใช้องค์ประกอบ <abbr> แทน แนะนำ
<applet> กำหนด Java applet แนะนำให้ใช้ JavaScript หรือเทคโนโลยีสมัยใหม่อื่นๆ แทน ไม่แนะนำ
<basefont> ตั้งค่าขนาดและสีฟอนต์เริ่มต้นสำหรับข้อความทั้งหมดในหน้า แนะนำให้ใช้ CSS เพื่อตั้งค่าสไตล์ข้อความ ไม่แนะนำ
<big> ตั้งค่าขนาดฟอนต์ของข้อความ แนะนำให้ใช้ CSS เพื่อตั้งค่าสไตล์ข้อความ ไม่แนะนำ
<center> บังคับให้ข้อความจัดกึ่งกลาง แนะนำให้ใช้ CSS เพื่อตั้งค่าการจัดตำแหน่งข้อความ ไม่แนะนำ
<dir> กำหนดรายการไดเรกทอรี แนะนำให้ใช้องค์ประกอบ <ul> แทน ไม่แนะนำ
<font> ตั้งค่าขนาด สี สไตล์ เป็นต้นของฟอนต์ข้อความ แนะนำให้ใช้ CSS เพื่อตั้งค่าสไตล์ข้อความ ไม่แนะนำ
<frame> กำหนดเฟรม แนะนำให้ใช้องค์ประกอบ iframe แทน ไม่แนะนำ
<frameset> กำหนดชุดเฟรม แนะนำให้ใช้องค์ประกอบ iframe แทน ไม่แนะนำ
<noframes> ให้เนื้อหาทางเลือกสำหรับเบราว์เซอร์ที่ไม่รองรับเฟรม แนะนำให้ใช้ JavaScript เพื่อตรวจสอบว่าเบราว์เซอร์รองรับเฟรมหรือไม่ และแสดงหรือซ่อนเนื้อหาตามสถานการณ์ ไม่แนะนำ
<strike> ตั้งค่าเส้นขีดทับข้อความ แนะนำให้ใช้ CSS เพื่อตั้งค่าสไตล์ข้อความ ไม่แนะนำ
<tt> ตั้งค่าฟอนต์ความกว้างคงที่สำหรับข้อความ แนะนำให้ใช้ CSS เพื่อตั้งค่าฟอนต์ข้อความ ไม่แนะนำ
แชร์:

ความคิดเห็น