Có 2 kỹ thuật có thể có ích cho kịch bản phổ biến này. Mỗi cái đều có nhược điểm nhưng đôi khi có thể hữu ích.
kích thước hộp: hộp viền bao gồm phần đệm và chiều rộng đường viền theo chiều rộng của vật phẩm. Ví dụ: nếu bạn đặt chiều rộng của div với phần đệm 20px 20px và viền 1px thành 100px, chiều rộng thực tế sẽ là 142px nhưng với hộp viền, cả phần đệm và lề đều nằm trong 100px.
.bb{
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
-moz-box-sizing: border-box; /* Firefox, other Gecko */
box-sizing: border-box;
width: 100%;
height:200px;
padding: 50px;
}
Đây là một bài viết tuyệt vời về nó: http://css-tricks.com/box-sizing/ và đây là một fiddle http://jsfiddle.net/L3Rvw/
Và sau đó là vị trí: tuyệt đối
.padded{
position: absolute;
top: 50px;
right: 50px;
left: 50px;
bottom: 50px;
background-color: #aefebc;
}
http://jsfiddle.net/Mw9CT/1/
Tất nhiên là không hoàn hảo, kích thước hộp không hoàn toàn phù hợp với câu hỏi vì phần tử thực sự có chiều rộng 100%, thay vì 100% - 100px (tuy nhiên sẽ là div con). Và định vị tuyệt đối chắc chắn không thể được sử dụng trong mọi tình huống, nhưng thường là ổn miễn là chiều cao cha mẹ được đặt.