With tables you can always have a td that takes up all the space left over from a fixed width TD. So for example a right sidebar fixed with table design would be something like this. HTML: <table width="100%"> <tr> <td>Content</td> <td width="200">Sidebar</td> </tr> </table> Now if we want to move to a table-less design, we have few options. You can check out the working sample of all the options here. Option 1: Fixed Width Content Make the content as fixed width. The div based code looks something like this HTML: <div class="main"> <div class="content"> Content </div> <div class="sidebar"> Sidebar Content </div> </div> And the CSS. HTML: .content { width: 800px; float:left; } .sidebar { float: left; width: 220px; } Option 2: Fluid Width Content and Sidebar You can always opt for dynamic size content and sidebar and specify width in % terms which makes the above CSS code to change as follows. HTML: .content { width: 80%; float:left; } .sidebar { float: left; width: 20%; } Still you don't get the same output as the table based design which is fixed width sidebar and fluid content. Option 3: Fluid Content and Fixed Width Sidebar In this scenario the html is slightly different in layout. The structure of the HTML should look like HTML: <div class="main"> <div class="content"> Content </div> </div> <div class="sidebar"> Sidebar Content </div> The sidebar becomes sibling to the main div and not to the content DIV. CSS is as follows. HTML: .main { float: right; margin-left: -220px; width: 100%; } .content { margin-left: 220px; } .sidebar { float: left; width: 220px; } If you want your sidebar on the right side then it should be HTML: .main { float: left; margin-right: -220px; width: 100%; } .content { margin-right: 220px; } .sidebar { float: right; width: 220px; } i.e. All the left changes to right and vice versa. How it actually Works Main DIV takes 100% of the width and with negative margin, there is a void created after the main DIV (Check out Guide to Negative Margins at Smashing Magazine) where the sidebar fits into. The content div is applied the same value of positive margin just to make sure there is no overlap of content and sidebar.