โซลูชันที่โพสต์โดยใช้ calc (100vw - 100%) อยู่ในเส้นทางที่ถูกต้อง แต่มีปัญหากับสิ่งนี้: คุณจะมีระยะขอบด้านซ้ายเท่ากับขนาดของแถบเลื่อนตลอดแม้ว่าคุณจะปรับขนาดหน้าต่างเพื่อให้ เนื้อหาเติมวิวพอร์ตทั้งหมด
หากคุณพยายามที่จะหลีกเลี่ยงปัญหานี้ด้วยการสืบค้นสื่อคุณจะมีช่วงเวลาที่น่าอึดอัดใจเพราะระยะขอบจะไม่เล็กลงเมื่อคุณปรับขนาดหน้าต่าง
นี่เป็นวิธีแก้ปัญหาที่ได้รับมาและ AFAIK ไม่มีข้อเสีย:
แทนที่จะใช้มาร์จิ้น: อัตโนมัติเพื่อจัดกึ่งกลางเนื้อหาของคุณใช้สิ่งนี้:
body {
margin-left: calc(50vw - 500px);
}
แทนที่ 500px ด้วยความกว้างสูงสุดของเนื้อหาของคุณครึ่งหนึ่ง (ดังนั้นในตัวอย่างนี้ความกว้างสูงสุดของเนื้อหาคือ 1000px) ตอนนี้เนื้อหาจะอยู่กึ่งกลางและส่วนต่างจะลดลงเรื่อย ๆ จนกว่าเนื้อหาจะเต็มวิวพอร์ต
หากต้องการหยุดกำไรจากการเป็นลบเมื่อวิวพอร์ตมีขนาดเล็กกว่าความกว้างสูงสุดเพียงแค่เพิ่มคิวรีสื่อเช่น:
@media screen and (max-width:1000px) {
body {
margin-left: 0;
}
}
และอื่น ๆ !
overflow-y: overlay
ในหัวข้อนี้?