Нет действительно хорошего способа для #right соответствовать тому, кем стал #left. Вероятно, лучший способ сделать это:
<div id="wrapper">
<div id="right"></div> <!-- note that right comes before left -->
<div id="left"></div>
</div>
Тогда имейте этот стиль:
#left, #right {
width: 50%; /* Adjust as needed */
#right {
float: right;
}
Таким образом, #right не повлияет на длину страницы, но всегда будет #left. Тем не менее, #right все еще не будет простираться на длину #left. Я не знаю, по какой причине вам нужно было растянуть его до левого, но я предполагаю, что это что-то косметическое. Я бы попробовал применить его из #left или из #wrapper, если вы хотите, чтобы он повторялся до конца.
Например, если вы хотите, чтобы #left белый и #right красный:
#left {
background: #fff;
}
#wrapper {
background: #f00;
}