2015-04-09 4 views
1

Я пытаюсь добавить div выше моего содержимого div с той же шириной. Я бы хотел, чтобы он просто удалял содержимое div, но это приводит к тому, что sidebar div также перемещается вниз.Div над содержимым - движется вниз второй следующий div

<div id="container"> 
    <div id="new-div">new div</div> 
    <div id="content">content</div> 
    <div id="sidebar">sidebar</div> 
</div> 

.

#container { 
    background: lightgrey; 
    width: 500px 
} 
#new-div { 
    background: darkred; 
    width: 300px 
} 
#content { 
    background: lightblue; 
    width: 300px; 
    height: 400px; 
    display: inline-block 
    } 
#sidebar { 
    background: darkgreen; 
    width: 100px; 
    height: 400px; 
    float: right; 
} 

http://jsfiddle.net/zd9omqa7/2/

Как я могу избежать боковой панели DIV съехать? Я бы хотел, чтобы он всегда плавал в правом верхнем углу.

ответ

0

Два простых способов, которые приходят на ум, будет либо изменить порядок HTML, чтобы ваш сайдбар приходит первым в DOM:

http://jsfiddle.net/ctaylr/xxhdn1xb/1/

<div id="container"> 
    <div id="sidebar">sidebar</div> 
    <div id="new-div">new div</div> 
    <div id="content">content</div> 

</div> 

или использовать позицию абсолютной для грубой силы двигаться до вершины:

http://jsfiddle.net/ctaylr/warnjgp3/2/

(не забудьте поместить контейнер DIV относительно для этого работы)

В противном случае вы можете посмотреть, чтобы ваша левая сторона «разделилась» в контейнере.

Надеюсь, это поможет!

+0

Дело в том, что в некотором случае '# new-div' на самом деле будет растягиваться на 100% от' # container', а в ЭТОМ СЛУЧАЕ затем следует нажать боковую панель. Но в нормальной ситуации, если это только ширина содержимого, он не должен. Проблема с обоими способами, которые вы предположили, заключается в том, что div '# sidebar' будет устойчивым в верхнем правом углу, если новый-div будет растягиваться на 100% от контейнера. По причинам SEO я волнуюсь, чтобы поместить боковую панель в первую очередь. На всех моих страницах боковая панель идет за контентом. – ink

+0

Хорошо добавляя контейнер (см. Http://jsfiddle.net/ctaylr/zd9omqa7/3/), вы можете сделать это, не перемещая HTML-код, но он не позволит макету обмениваться, если вы находитесь на 100% ширина. Знаете ли вы об этом случае заранее и сможете настроить макет? Тогда вы можете использовать что-то вроде http://jsfiddle.net/ctaylr/zd9omqa7/6/ (раскомментируйте div над ним для полной ширины) – ctaylr

Смежные вопросы