Прошу прощения за недостающее знание дизайна, но меня смущает немного позиционирования div. У меня есть заголовок div. Внутри этого заголовка я хочу два divs, один для логотипа, а ниже - другой для некоторого контента. Я обозначил их логотип и карту соответственно. Однако, когда я пытаюсь поместить их в html, называя их в правильном порядке, карта div просто лежит поверх логотипа div, а не под ним. Я попытался использовать почти все варианты «clear: xxx» как в css, так и inline внутри html, но они не имеют никакого эффекта. Может кто-нибудь объяснить, почему это не работает? Публикация соответствующих css и html ниже.Порядок центрирования и правильного элемента (div)
#header {
height:440px;
width: 100%;
margin-top: 0px;
background:url(/assets/header-tail.gif) 0 0 repeat-x #f7f7f7
}
#header .logo {
position:absolute;
top: 3px;
left: 50%;
margin-left: -198px;
}
#header .card {
position: absolute;
left: 50%;
margin-left: -500px;
height: 367px;
width: 999px;
background:url(/assets/hback.png) 0 0 no-repeat;
clear: left;
}
И HTML:
<div id="header">
<div class="logo"><%= link_to image_tag("srlogo.png",alt:"Logo"), 'index.html' %></div>
<div class="card">Some text here</div>
</div>
Любая помощь очень ценится.
Редактировать: Да, я явно идиот, пытаясь использовать «ясный» без плавающих элементов. Я понимаю это сейчас. Итак, как мне получить одно подразделение ниже, а не поверх другого?
clear используется для плавающих элементов, кажется, у вас их нет ... –
Нужно ли использовать 'абсолютную' позицию? –
Абсолютно позиционированные элементы не следуют правилам «плавания». У них есть собственный контекст компоновки. –