float
действительно правильное свойство для достижения этой цели. Однако пример, данный bmatthews68, может быть улучшен. Самое важное в плавающих полях - то, что они должны указывать явную ширину. Это может быть довольно неудобно, но так работает CSS. Однако обратите внимание, что px
- это единица измерения, которой нет места в мире HTML / CSS, по крайней мере, чтобы не указывать ширину.
Всегда прибегайте к мерам, которые будут работать с различными размерами шрифта, т. Е. Используйте em
или %
. Теперь, если меню реализовано в виде плавающего тела, то это означает, что основной контент «плавает» вокруг него. Если основной контент выше, чем меню, это может быть не то, что вы хотите:
float1 http://page.mi.fu -berlin.de / krudolph / stuff / float1.png
<div style="width: 10em; float: left;">Left</div>
<div>Right, spanning<br/> multiple lines</div>
Вы можете исправить это поведение, задав основному содержанию значение margin-left
, равное ширине меню:
float2 http://page.mi.fu -berlin.de / krudolph / stuff / float2.png
<div style="width: 10em; float: left;">Left</div>
<div style="margin-left: 10em;">Right, spanning<br/> multiple lines</div>
В большинстве случаев вы также хотите присвоить основному контенту padding-left
, чтобы он не «прилипал» к меню слишком близко.
Кстати, тривиально изменить вышеприведенное так, чтобы меню находилось справа, а не слева: просто меняйте каждое вхождение слова «влево» на «вправо».
Ах, последнее. Если содержимое меню выше основного, оно будет отображаться странно, потому что float
делает некоторые странные вещи. В этом случае вам придется очистить поле, которое находится под плавающим телом, как в примере с bmatthews68.
/ EDIT: Черт, HTML не работает так, как показывал предварительный просмотр. Ну, вместо этого я включил картинки.