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

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

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

คุณสมบัติใหม่ของ 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:

คุณสมบัติSVGCanvas
ประเภทภาพเวกเตอร์บิตแมป
การขยายไม่สูญเสียคุณภาพสูญเสียคุณภาพ
ประเภทกราฟิกสี่เหลี่ยมผืนผ้า วงกลม เส้นทาง เป็นต้นใดก็ได้
การจัดการCSS, JavaScriptJavaScript
แอนิเมชันCSS, JavaScriptJavaScript
ขนาดไฟล์โดยทั่วไปเล็กกว่าโดยทั่วไปใหญ่กว่า
การเข้าถึงดีเยี่ยมปานกลาง
  • 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 เพื่อตั้งค่าฟอนต์ข้อความไม่แนะนำ
แชร์:

ความคิดเห็น