2015-06-13 2 views
4

Я пытаюсь установить верхнюю панель справа от моего левого меню. Я положил width: 100% моего #top_bar, но там так много. Я бы хотел, чтобы моя верхняя панель занимала только оставшееся пространство экрана.Ширина div, занимающая всю оставшуюся ширину

HTML:

<body>  
    <div id="menu_left"></div> 
    <div id="top_bar"></div>  
</body> 

CSS:

#menu_left { 
    background-color: #354052; 
    position: fixed; 
    height: 100%; 
    float: left; 
    width: 200px; 
} 

#top_bar { 
    border-bottom: 1px solid #EFF0F3; 
    position: absolute; 
    background-color: white; 
    left: 200px; 
    height: 70px; 
    width: 100%; 
} 

Результат: enter image description here

+3

'ширина: вычи (100% - 200px);' http://caniuse.com/#feat=calc –

+0

Ширина страницы становится 100% + 200px, поэтому появляется горизонтальная полоса прокрутки. Есть ли сильное ограничение для меню слева, что оно должно быть ровно 200 пикселей? – cezar

+0

@cezar Да, размер левого меню должен оставаться на 200px – wawanopoulos

ответ

0

Вы можете использовать запас влево для большой DIV

CSS:

#menu_left { 
    background-color: #354052; 
    position: fixed; 
    height: 100%; 
    float: left; 
    width: 200px; 
} 
#top_bar { 
    border-bottom: 1px solid #EFF0F3; 
    background-color: red; 
    margin-left: 200px; 
    height: 70px; 
} 

HTML:

<body> 
    <div id="menu_left"></div> 
    <div id="top_bar"></div> 
</body> 

Работа Demo

+0

Я не думаю, что это то, что ищет OP, но может дать ему представление о том, как полностью перепроектировать его сайт. –

+0

Это будет работать, но оно не реагирует и на небольших экранах, как смартфоны, произведет плохое впечатление. – cezar

+0

Вы можете использовать ширину и маржу на%, тогда она будет работать и в реагировании – Mitul

1
#top_bar { 
    border-bottom: 1px solid #EFF0F3; 
    position: absolute; 
    background-color: white; 
    top: 0px; 
    left: 200px; 
    right: 0px; 
    height: 70px; 
} 
0

Возможно, this? Вы могли только изменить width: 100% на right: 0. Также не требуется float: left.

html, body { 
 
    width: 100%; 
 
    height: 100%; 
 
    margin: 0;  
 
} 
 

 
#menu_left { 
 
    background-color: #354052; 
 
    position: fixed; 
 
    height: 100%; 
 
    width: 200px; 
 
} 
 

 
#top_bar { 
 
    border-bottom: 1px solid #EFF0F3; 
 
    position: absolute; 
 
    background-color: white; 
 
    left: 200px; 
 
    right: 0; 
 
    height: 70px; 
 
}
<div id="menu_left"></div> 
 
<div id="top_bar"></div>

0

Попробуйте использовать контейнер шириной 100% вокруг элементов.

<div class="container"> 

    <div id="menu_left"> 
    </div> 

    <div id="top_bar"> 
     NAVIGATION 
    </div> 

</div> 

Смотрите эту ручку я только что создал: http://codepen.io/anon/pen/MwodLx