Apply "box-sizing: border-box;" to the element. It is now reasonably safe to design for modern browsers using the CSS3 property, box-sizing. The example property above indicates that the element's box model will be resized so that padding and border will be calculated to fit within the specified 50% "width" of the element. It basically makes the math a lot easier.