Эта проблема возникает из-за того, что браузер пропорционально уменьшает размер div, но не применяет сокращение к границе.
Чтобы решить эту проблему, попробуйте использовать эту CSS:
box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-webkit-box-sizing: border-box;
Размер div будет измерен с рамкой и уменьшен должным образом при уменьшении, и вы можете оставить оба div с шириной 400px.
Полный код должен выглядеть примерно так:
div#container{
width: 800px;
}
div#container > div{
width: 400px;
box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
div#left{
float: left;
border-right-width: 1px;
border-right-style: solid;
border-right-color: black;
}
div#right{
float: right;
}