ฉันกำลังทำงานกับหน้า Landing Page สำหรับมือถือของ บริษัท แห่งหนึ่ง มันเป็นเลย์เอาต์พื้นฐานจริงๆ แต่ด้านล่างส่วนหัวจะมีรูปภาพของผลิตภัณฑ์ซึ่งจะมีความกว้าง 100% เสมอ (การออกแบบจะแสดงให้เห็นว่ามันเรียงจากขอบถึงขอบเสมอ) ขึ้นอยู่กับความกว้างของหน้าจอความสูงของภาพจะปรับตามอย่างเห็นได้ชัด เดิมทีฉันทำสิ่งนี้ด้วย img (โดยมีความกว้าง CSS 100%) และใช้งานได้ดี แต่ฉันรู้ว่าฉันต้องการใช้แบบสอบถามสื่อเพื่อแสดงภาพที่แตกต่างกันตามความละเอียดที่แตกต่างกันสมมติว่ามีขนาดเล็กกลางและ ตัวอย่างเช่นภาพเดียวกันขนาดใหญ่ ฉันรู้ว่าคุณไม่สามารถเปลี่ยน img src ด้วย CSS ได้ดังนั้นฉันจึงคิดว่าฉันควรใช้พื้นหลัง CSS สำหรับรูปภาพแทนที่จะเป็นแท็ก img ใน HTML
ดูเหมือนว่าจะทำงานไม่ถูกต้องเนื่องจาก div ที่มีภาพพื้นหลังต้องการทั้งความกว้างและความสูงเพื่อแสดงพื้นหลัง เห็นได้ชัดว่าฉันสามารถใช้ 'width: 100%' ได้ แต่ฉันจะใช้ความสูงอะไร ฉันสามารถใส่ความสูงคงที่แบบสุ่มเช่น 150px จากนั้นฉันจะเห็น 150px บนสุดของรูปภาพ แต่นี่ไม่ใช่วิธีแก้ปัญหาเนื่องจากไม่มีความสูงคงที่ ฉันเล่นและพบว่าเมื่อมีความสูงแล้ว (ทดสอบด้วย 150px) ฉันสามารถใช้ 'background-size: 100%' เพื่อให้พอดีกับรูปภาพใน div ได้อย่างถูกต้อง ฉันสามารถใช้ CSS3 ล่าสุดสำหรับโปรเจ็กต์นี้ได้เนื่องจากมีเป้าหมายที่มือถือเท่านั้น
ฉันได้เพิ่มตัวอย่างคร่าวๆด้านล่าง โปรดแก้ตัวด้วยรูปแบบอินไลน์ แต่ฉันต้องการยกตัวอย่างพื้นฐานเพื่อพยายามทำให้คำถามของฉันชัดเจนขึ้นเล็กน้อย
<div id="image-container">
<div id="image" style="background: url(image.jpg) no-repeat; width: 100%; height: 150px; background-size: 100%;"></div>
</div>
ฉันอาจจะต้องให้เปอร์เซ็นต์ความสูงของคอนเทนเนอร์ div ตามทั้งหน้าหรือว่าฉันดูผิดไปหมด?
นอกจากนี้คุณคิดว่าพื้นหลัง CSS เป็นวิธีที่ดีที่สุดในการทำเช่นนี้หรือไม่? อาจมีเทคนิคที่ใช้แท็ก img ที่แตกต่างกันตามความกว้างของอุปกรณ์ / หน้าจอ แนวคิดทั่วไปคือแม่แบบหน้า Landing Page จะถูกใช้หลายครั้งกับรูปภาพผลิตภัณฑ์ที่แตกต่างกันดังนั้นฉันต้องแน่ใจว่าฉันพัฒนาวิธีนี้ให้ดีที่สุด
ฉันขอโทษที่นี่เป็นเรื่องที่ยืดเยื้อไปหน่อย แต่ฉันกลับไปกลับมาจากโปรเจ็กต์นี้ไปเรื่อย ๆ ฉันจึงอยากจะทำสิ่งเล็ก ๆ น้อย ๆ นี้ให้เสร็จ ขอบคุณล่วงหน้าที่สละเวลาขอขอบคุณมาก ความนับถือ