ปัญหาอาจมาจากรุ่นกล่องที่คุณใช้ คุณใช้ IE หรือไม่?
เมื่อ IE อยู่ในโหมด quirks width
คือความกว้างภายนอกของกล่องซึ่งหมายความว่าช่องว่างภายในจะอยู่ด้านใน ดังนั้นพื้นที่ทั้งหมดที่เหลืออยู่ภายในกล่อง100px - 2 * 10px = 80px
ซึ่งในกรณีนี้ความกว้าง 100px ของคุณ<hr>
จะดูไม่ถูกต้อง
หากคุณอยู่ในโหมดมาตรฐานwidth
คือความกว้างด้านในของกล่องของคุณและช่องว่างภายในจะถูกเพิ่มออกไปด้านนอก ดังนั้นความกว้างทั้งหมดของกล่องจะ100px + 2 * 10px = 120px
ออกตรง 100px <hr>
ภายในกล่องสำหรับคุณ
ในการแก้ปัญหาให้ปรับค่า CSS ของคุณสำหรับ IE (ตรวจสอบใน Firefox เพื่อดูว่าใช้ได้หรือไม่) หรือที่ดีกว่านั้นให้ตั้งค่าประเภทเอกสารเพื่อให้เบราว์เซอร์เข้าสู่โหมดเข้มงวดโดยที่ IE จะทำตามรูปแบบกล่องมาตรฐาน
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
...
http://www.quirksmode.org/css/quirksmode.html
<hr>
จะเป็น 20px จากท้าย div ของคุณ ดู jsFiddle นี้สำหรับสิ่งที่ฉันหมายถึง: jsfiddle.net/YVrWy/1