Проверьте пример здесь: http://css.maxdesign.com.au/floatutorial/tutorial0816.htm
Что вам нужно сделать, это установить float:right
и width
для элемента <nav>
и оставить #content
без каких-либо значений с плавающей запятой или ширины, просто установите поле. Таким образом, контент будет пытаться занять все заданное пространство и не попадет в навигацию.
Затем, если вы скроете элемент <nav>
, содержимое будет автоматически изменено (но вам также нужно будет удалить отступ справа).
Это пример кода:
<style type="text/css">
#container { width:700px; margin:0 auto; border:1px solid #000; }
#nav { display:none; }
.double #nav { width:10%; float:right; display:block; }
#content { margin-right:10%; border-right:1px solid #000; }
</style>
<div id="container" class="double">
<div id="nav">nav content</div>
<div id="content">page content</div>
</div>
Теперь, если вы удалили class="double"
из элемента контейнера, вы увидите, что содержимое корректно изменено, чтобы занять 90% от указанного пространства. Если вы хотите получить 100% - просто добавьте .double до стиля #content.