การออกแบบเว็บไซต์ที่เข้ากันได้กับอุปกรณ์ต่าง ๆ เป็นขั้นตอนสำคัญในการรับรองว่าผู้ใช้ต่าง ๆ สามารถเข้าถึงเว็บไซต์ได้มากที่สุด
นั่นคือที่มาของคิวรี่สื่อ คิวรีสื่อ CSS อนุญาตให้คุณใช้กฎ CSS ได้ก็ต่อเมื่อเบราว์เซอร์ตรงกับกฎที่คุณกำหนดไว้เท่านั้น ดังนั้น คุณสามารถกำหนดกฎที่ใช้เฉพาะเมื่อผู้ใช้กำลังดูหน้าเว็บบนสมาร์ทโฟน
บทช่วยสอนนี้จะอธิบายพร้อมตัวอย่าง พื้นฐานของการออกแบบเว็บที่ตอบสนอง วิธีการทำงานของคิวรีสื่อ และวิธีออกแบบการสืบค้นสื่อ CSS ของคุณเอง เมื่ออ่านบทช่วยสอนนี้จบ คุณจะเป็นผู้เชี่ยวชาญในการออกแบบข้อความค้นหาสื่อใน CSS
การออกแบบเว็บที่ตอบสนองและแบบสอบถามสื่อ
การออกแบบเว็บที่ตอบสนองตามอุปกรณ์หมายถึงชุดแนวทางปฏิบัติที่นักพัฒนาปรับแต่งสไตล์ชีตบนไซต์เพื่อให้สามารถแสดงผลไซต์ได้อย่างถูกต้องบนอุปกรณ์และขนาดหน้าจอที่หลากหลาย
เหตุผลที่การออกแบบเว็บแบบตอบสนองมีความสำคัญมากเพราะอุปกรณ์แสดงผลที่ผู้ดูใช้ในการดูหน้าเว็บ—รวมถึงหน้าต่างเบราว์เซอร์และขนาดหน้าจอ—จะส่งผลต่อการโหลดหน้าเว็บ หากเว็บไซต์ไม่ได้ออกแบบมาโดยคำนึงถึงอุปกรณ์และขนาดหน้าจอที่แตกต่างกัน ผู้ใช้บางรายอาจประสบปัญหาในการดูเนื้อหาทั้งหมดที่นำเสนอบนเว็บไซต์
แม้ว่าการออกแบบเว็บที่ตอบสนองตามอุปกรณ์จะครอบคลุมแนวปฏิบัติที่หลากหลาย—ตั้งแต่การใช้ flexbox ไปจนถึงสไตล์ที่เกี่ยวข้อง—การสืบค้นสื่อเป็นส่วนสำคัญของเว็บไซต์ใดๆ ที่ออกแบบโดยคำนึงถึงการตอบสนองของเว็บ
คิวรี่สื่อช่วยให้คุณสามารถปรับลักษณะที่ปรากฏบนหน้าเว็บโดยขึ้นอยู่กับประเภทของอุปกรณ์ที่ใช้ การวางแนวของอุปกรณ์ และขนาดวิวพอร์ต
เมื่อใช้คิวรี่สื่อ คุณสามารถทำให้องค์ประกอบต่างๆ ปรากฏบนเว็บไซต์ของคุณแตกต่างกันไปตามหน้าจอและอุปกรณ์ต่างๆ ที่ผู้ใช้กำลังดูไซต์ของคุณ
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
ไวยากรณ์การสืบค้นสื่อ
ในการประกาศคิวรี่สื่อใน CSS คุณต้องใช้ @media
กฎ. กฎนี้อนุญาตให้คุณดำเนินการบล็อกคุณสมบัติ CSS ได้ก็ต่อเมื่อเงื่อนไขบางอย่างประเมินว่าเป็นจริง
นี่คือไวยากรณ์พื้นฐานสำหรับคิวรีสื่อ CSS:
@media media-type and (media-rule) { // CSS styles }
นี่คือองค์ประกอบหลักของแบบสอบถามสื่อนี้:
- @media สั่งให้เบราว์เซอร์สร้างแบบสอบถามสื่อ
- ประเภทสื่อ คือประเภทของสื่อที่จะใช้รหัส (เช่น หน้าจอหรือการพิมพ์)
- และ เป็นโอเปอเรเตอร์เชิงตรรกะที่เราต้องใช้เมื่อระบุทั้งประเภทสื่อและกฎของสื่อ
- กฎของสื่อ เป็นคำสั่งที่ต้องประเมินเป็นจริงเพื่อให้ CSS ในคิวรี่สื่อดำเนินการ
- รูปแบบ CSS เป็นกฎที่จะนำไปใช้กับองค์ประกอบเว็บหากกฎของสื่อประเมินว่าเป็นจริง
มีสี่ประเภทสื่อที่สามารถใช้กับแบบสอบถามสื่อ ทั้งหมดนี้คือการพิมพ์ หน้าจอ และคำพูด โดยค่าเริ่มต้น ค่า all
ใช้และสามารถระบุประเภทสื่อได้หลายประเภทโดยแยกแต่ละประเภทโดยใช้เครื่องหมายจุลภาค
กฎของสื่อ CSS
มีกฎสองสามประเภทที่สามารถนำไปใช้กับคิวรีสื่อได้ มาแยกย่อยแต่ละอย่างเป็นรายบุคคลกัน
ความกว้างและความสูง
ประเภทกฎหลักที่ใช้กับกฎสื่อ CSS คือความกว้างและความสูงของอุปกรณ์ กฎเหล่านี้ช่วยให้เราใช้สไตล์กับองค์ประกอบเว็บโดยขึ้นอยู่กับขนาดของคอนเทนเนอร์วิวพอร์ต คำว่า viewport container
หมายถึงพื้นที่ของหน้าเว็บที่ผู้ใช้มองเห็นได้
กฎความกว้างและความสูงจะใช้เพื่อใช้สไตล์หากวิวพอร์ตเท่ากับขนาดที่แน่นอนพอดี ดังนั้น หากคุณต้องการเปลี่ยนสีข้อความของแท็ก
ทั้งหมดบนหน้าเว็บเป็นสีน้ำเงินหากวิวพอร์ตสูง 500px คุณสามารถทำได้โดยใช้กฎนี้:
@media screen and (width: 500px) { p { color: blue; } }
กฎนี้กำหนดสีข้อความของแท็ก
ทั้งหมดเป็น blue
หากความกว้างของวิวพอร์ตเท่ากับ 500px
ในกรณีส่วนใหญ่ คุณจะต้องใช้คิวรีสื่อโดยใช้ช่วง ตัวอย่างเช่น คุณอาจต้องการเปลี่ยนขนาดแบบอักษรของหน้าเว็บหากขนาดวิวพอร์ตเท่ากับหรือมากกว่า 500px นั่นคือที่มาของรูปแบบความกว้างต่ำสุดและความสูงต่ำสุด
หากเราต้องการเปลี่ยนสีข้อความขององค์ประกอบ
ทั้งหมดเป็นสีน้ำเงิน หากความกว้างของวิวพอร์ตเท่ากับมากกว่า 500px เราสามารถใช้กฎต่อไปนี้:
@media screen and (min-width: 500px) { p { color: blue; } }
กฎนี้กำหนดสีข้อความขององค์ประกอบ
ทั้งหมดเป็นสีน้ำเงิน แต่ถ้าความกว้างของวิวพอร์ตเท่ากับหรือมากกว่า 500px วิธีการทำงานของคิวรีสื่อนี้คือเงื่อนไข min-width:500px จะถูกประเมิน ซึ่งจะตรวจสอบว่าความกว้างของวิวพอร์ตเท่ากับหรือมากกว่า 500px หากเงื่อนไขนี้ประเมินเป็นจริง กฎใน p
. ของเรา สไตล์ถูกนำไปใช้กับหน้าเว็บ
ปฐมนิเทศ
นอกจากนี้ สามารถใช้คิวรีสื่อเพื่อปรับใช้สไตล์กับหน้าเว็บโดยขึ้นอยู่กับการวางแนวของอุปกรณ์
สมมติว่าเราต้องการตั้งค่าขนาดข้อความขององค์ประกอบ h2 ทั้งหมดเป็น 20px หากผู้ใช้กำลังดูหน้าเว็บของเราในโหมดแนวนอน เราสามารถทำได้โดยใช้รหัสนี้:
@media (orientation: landscape) { h2 { font-size: 20px; } }
กฎนี้จะตรวจสอบว่าผู้ใช้กำลังดูหน้าเว็บในโหมดแนวนอนหรือไม่ และกำหนดขนาดแบบอักษรขององค์ประกอบ
ทั้งหมดเป็น 20px หากเงื่อนไขนั้นประเมินว่าเป็นจริง
ตามค่าเริ่มต้น เดสก์ท็อปจะใช้การวางแนวนอน
ตัวอย่าง CSS Media Query
มาดูการสืบค้นสื่อตัวอย่างสองตัวอย่างเพื่อแสดงให้เห็นว่าคุณสามารถเขียนคิวรี่สื่อของคุณเองใน CSS ได้อย่างไร
ตัวอย่างการสืบค้นสื่อพื้นฐาน:ซ่อนองค์ประกอบ
สมมติว่าเรากำลังออกแบบเว็บไซต์และต้องการให้กล่องแสดง This site is in beta
. บนอุปกรณ์พกพาทั้งหมด ช่องนี้ควรปรากฏบนอุปกรณ์มือถือเท่านั้น เนื่องจากเรายังคงทดสอบประสบการณ์มือถือของเรา
เราสามารถสร้างกล่องนี้โดยใช้รหัสต่อไปนี้:
<html> <p class="betaBox">This site is in beta.</p> <html> <style> .betaBox { background-color: orange; padding: 10px; } <style> @media screen and (max-width: 600px) { .betaBox { display: none; } }
รหัสของเราส่งคืน:
มาทำลายรหัสของเรากัน ในไฟล์ HTML ของเรา เราได้กำหนดแท็ก
ซึ่งรวมถึงข้อความ This site is in beta
. คลาสที่กำหนดให้กับแท็ก
คือ betaBox
.
ในไฟล์ CSS ของเรา เราระบุสองสไตล์ รูปแบบ .betaBox กำหนดสีพื้นหลังขององค์ประกอบใดๆ ที่มีชื่อคลาส betaBox
เป็นสีส้มและสร้างช่องว่างภายใน 10px ระหว่างเนื้อหาขององค์ประกอบและเส้นขอบ
กฎถัดไปใช้แบบสอบถามสื่อ ในการสืบค้นสื่อของเรา max-width:600px จะบอกเบราว์เซอร์ของเราว่าควรใช้กฎของสไตล์ก็ต่อเมื่อวิวพอร์ตแคบกว่า 600px ดังนั้น หากผู้ใช้ดูไซต์ของเราบนอุปกรณ์มือถือ สไตล์นี้จะถูกเรียกใช้
หากดำเนินการค้นหาสื่อของเรา display:none rule จะถูกนำไปใช้กับทุกองค์ประกอบที่มีชื่อคลาส .betaBox
.
ตัวอย่างการสืบค้นสื่อหลายรายการ:ขนาดตัวอักษร
ในตัวอย่างก่อนหน้านี้ เราระบุแบบสอบถามสื่อเพียงรายการเดียว อย่างไรก็ตาม คุณสามารถระบุคิวรี่สื่อหลายรายการในไฟล์ CSS ได้ ซึ่งหมายความว่าคุณสามารถใช้สไตล์บางอย่างกับองค์ประกอบบนหน้าเว็บได้ ขึ้นอยู่กับว่าตรงตามเงื่อนไขข้อใดข้อหนึ่งหรือไม่
สมมติว่าเรากำลังออกแบบเว็บไซต์และเราต้องการให้ขนาดแบบอักษรของส่วนหัว
เปลี่ยนแปลงตามขนาดหน้าจอ นี่คือกฎที่เราต้องการนำไปใช้กับเว็บไซต์ของเรา:
- หากความกว้างของหน้าจอเท่ากับหรือน้อยกว่า 480px ขนาดแบบอักษรของส่วนหัวควรเป็น 16px
- หากความกว้างของหน้าจอเท่ากับ 481px และเท่ากับหรือน้อยกว่า 600px ขนาดแบบอักษรของส่วนหัวควรเป็น 20px
- หากความกว้างของหน้าจอเท่ากับหรือมากกว่า 601px ขนาดแบบอักษรของส่วนหัวควรเป็น 24px
เราสามารถใช้แบบสอบถามสื่อสามรายการต่อไปนี้เพื่อเปลี่ยนขนาดของแบบอักษรบนหน้าเว็บของเราขึ้นอยู่กับขนาดหน้าจอของผู้ใช้:
<html> <h1>This is an example header.</h1> <html> <style> @media screen and (min-width: 480px) { h1 { font-size: 16px; } } @media screen and (min-width: 481px) and (max-width: 600px) { h1 { font-size: 20px; } } @media screen and (min-width: 601px) { h1 { font-size: 24px; } } <style>
ปุ่มในตัวแก้ไขโค้ดด้านบนเพื่อดูผลลัพธ์ของโค้ด HTML/CSS
มาดูกันว่าโค้ดของเราทำงานอย่างไร ในไฟล์ HTML ของเรา เราได้กำหนดส่วนหัวของตัวอย่างโดยใช้แท็ก
ซึ่งแสดงข้อความ This is an example header
.
จากนั้น ในไฟล์ CSS ของเรา เราได้กำหนดคิวรี่สื่อสามรายการ
แบบสอบถามสื่อชุดแรกจะตรวจสอบว่าขนาดของวิวพอร์ตของเบราว์เซอร์เท่ากับหรือน้อยกว่า 480px (โดยใช้ความกว้างสูงสุด:480px) และกำหนดขนาดแบบอักษรขององค์ประกอบ
ทั้งหมดเป็น 16px หากคำสั่งนี้ประเมินว่าเป็นจริง
พี>แบบสอบถามสื่อที่สองตรวจสอบว่าขนาดของวิวพอร์ตเท่ากับหรือมากกว่า 481px (โดยใช้ความกว้างต่ำสุด:481px) และเท่ากับหรือน้อยกว่า 600px (โดยใช้ความกว้างสูงสุด:600px) หากค่านี้ประเมินว่าเป็นจริง ขนาดแบบอักษรสำหรับองค์ประกอบ
ทั้งหมดจะถูกตั้งค่าเป็น 20px
แบบสอบถามสื่อที่สามตรวจสอบว่าขนาดของวิวพอร์ตมากกว่า 601px หรือไม่ (โดยใช้ความกว้างต่ำสุด:601px) หากกฎนี้ประเมินเป็นจริง ขนาดแบบอักษรขององค์ประกอบ
ทั้งหมดจะเปลี่ยนเป็น 24px เบรกพอยต์การสืบค้นสื่อ
เบรกพอยต์ใช้เพื่อกำหนดจุดที่เว็บไซต์จะใช้การสืบค้นสื่อ
เมื่อคุณออกแบบคิวรี่สื่อ คุณอาจถามตัวเองว่า:ฉันควรใช้ขนาดใดในการตั้งค่าคิวรีสื่อ นี่เป็นคำถามที่สมเหตุสมผล เพราะเมื่อคุณเพิ่งเริ่มต้นกับการออกแบบเว็บแบบตอบสนอง คุณอาจพบว่ามันยากที่จะหาขนาดของอุปกรณ์ที่เว็บไซต์ของคุณควรแสดงผล
มีรายการบนอินเทอร์เน็ตที่กำหนดเป้าหมายขนาดหน้าจอเฉพาะ ซึ่งอาจเป็นประโยชน์ในการตั้งค่าเบรกพอยต์สำหรับการสืบค้นสื่อของคุณ อย่างไรก็ตาม เนื่องจากอุปกรณ์ที่มีอยู่มากมาย ซึ่งทั้งหมดมีขนาดหน้าจอและข้อกำหนดเฉพาะ รายการเหล่านี้จึงไม่ครอบคลุมประเด็นหลักทั้งหมด
วิธีที่ดีที่สุดในการเลือกเวลาที่จะมีการเรียกใช้คิวรีสื่อคือการดูเว็บไซต์ของคุณเพื่อหาตำแหน่งใดๆ ที่องค์ประกอบถูกบีบอัดหรือตัดแต่ง ดังนั้น หากคุณเห็นองค์ประกอบที่ไม่สามารถมองเห็นได้ทั้งหมดบนอุปกรณ์มือถือ แสดงว่าคุณอาจต้องเพิ่มเบรกพอยต์
จากนั้น เมื่อคุณระบุประเด็นเหล่านี้แล้ว คุณสามารถเขียนกฎสื่อที่กำหนดเองได้ ตัวอย่างเช่น คุณอาจตระหนักว่าแท็ก
อย่างไรก็ตาม เพื่อให้คุณเริ่มต้นได้ นี่คือรายการเบรกพอยต์ที่สามารถช่วยคุณกำหนดเป้าหมายอุปกรณ์หลักที่อาจใช้ในการเยี่ยมชมเว็บไซต์ของคุณ:
- โทรศัพท์ส่วนใหญ่:หน้าจอ @media และ (ความกว้างสูงสุด:600px) {}
- แท็บเล็ตแนวตั้งและโทรศัพท์ขนาดใหญ่:หน้าจอ @media และ (ความกว้างต่ำสุด:600px) {}
- แท็บเล็ตแนวนอน:หน้าจอ @media และ (ความกว้างต่ำสุด:768px) {}
- แล็ปท็อปและเครื่องเดสก์ท็อป:หน้าจอ @media (ความกว้างต่ำสุด:992px) {}
- แล็ปท็อปและเครื่องเดสก์ท็อปขนาดใหญ่:หน้าจอ @media (ความกว้างต่ำสุด:1200px) {}
กฎเหล่านี้จะช่วยคุณในการเริ่มต้นกำหนดเบรกพอยต์สำหรับการสืบค้นสื่อของคุณ แต่คุณอาจต้องทำการเปลี่ยนแปลงเล็กน้อยเพื่อให้เหมาะกับความต้องการเฉพาะของเว็บไซต์ของคุณ
บทสรุป
คิวรี่สื่อใช้ใน CSS เพื่อเพิ่มการออกแบบที่ตอบสนองต่อไปยังหน้าเว็บ คิวรีสื่อช่วยให้คุณใช้สไตล์เฉพาะเมื่อตรงตามเงื่อนไขหรือชุดเงื่อนไข ตัวอย่างเช่น แบบสอบถามสื่อสามารถใช้เพื่อเปลี่ยนขนาดแบบอักษรของหน้าเว็บเมื่อความกว้างของหน้าเว็บมากกว่า 750px
บทช่วยสอนนี้กล่าวถึงโดยอ้างอิงถึงตัวอย่าง พื้นฐานของการออกแบบเว็บแบบตอบสนอง วิธีการทำงานของคิวรีสื่อ และวิธีเขียนคิวรีสื่อ ตอนนี้คุณพร้อมที่จะเริ่มทำงานกับคิวรีสื่อใน CSS เหมือนกับนักออกแบบเว็บไซต์มืออาชีพแล้ว