2017-02-01 11 views
3

Я пытаюсь сделать панель навигации отзывчивой, но у нее есть фон, и я не могу просто добавить ее на 100% ширину, потому что рядом с ней, справа , есть панель уведомлений с фиксированной шириной, и если я добавлю 100% ширину на навигационную панель, она будет расширяться до ширины контейнера и заставляет панель уведомлений под ней. Так что мне нужна панель уведомлений с шириной исправления справа от страницы, а при уменьшении ширины экрана панель уведомлений должна уменьшать ширину навигатора (навигационная панель будет реагировать). Im прикрепление мои коды реальный простой:Чувствительность фонового изображения на навигационной панели, с другим контейнером справа

<!DOCTYPE html> 
<html> 
<head> 
<meta name="viewport" content="width=device-width, initial-scale=1.0"> 
<link rel="stylesheet" type="text/css" href="proba.css"> 
</head> 
<body> 
    <div class="navbar"> 
     <ul> 
     </ul> 
    </div> 
    <div class="notification-panel"> 
    </div> 
</div> 
</body> 
</html> 

CSS КОД:

.container{ 
    max-width:1200px; 
    height:1000px; 
    margin: 0px auto; 
    padding:0px; 
    border:1px solid red; 
} 

.navbar{ 
    width:100%; /*there should be the 100% to make the navbar responsive*/ 
    height: 58px; 
    background-image: url('menu.png'); 
    background-size: 100% 100%; 
    float:left; 
    margin-left:5px; 
} 

.notification-panel { 
    float:left; 
    width:230px; 
    height:800px; 
    border:1px solid red; 
} 

Спасибо ребята

+0

Вы можете использовать 'ширина: известково (100% - 230px) ; ' –

ответ

1

Вы можете использовать calc()

.container { 
 
    max-width: 1200px; 
 
    height: 1000px; 
 
    margin: 0px auto; 
 
    padding: 0px; 
 
    border: 1px solid red; 
 
} 
 
    
 
.navbar { 
 
    width: calc(100% - 235px); 
 
    height: 58px; 
 
    background-image: url('menu.png'); 
 
    background-size: 100% 100%; 
 
    float: left; 
 
    margin-left: 5px; 
 
} 
 
    
 
.notification-panel { 
 
    float: left; 
 
    width: 230px; 
 
    height: 800px; 
 
    border: 1px solid red; 
 
    box-sizing: border-box; 
 
}
<div class="container"> 
 
<div class="navbar"> 
 
    <ul> 
 
    </ul> 
 
</div> 
 
<div class="notification-panel"> 
 
</div> 
 
</div>

или Flexbox с flex-grow: 1; на .navbar так будет расти, чтобы занять все доступное пространство, оставшееся от панели уведомлений

.container { 
 
    max-width: 1200px; 
 
    height: 1000px; 
 
    margin: 0px auto; 
 
    padding: 0px; 
 
    border: 1px solid red; 
 
    display: flex; 
 
} 
 
    
 
.navbar { 
 
    flex-grow: 1; 
 
    /*there should be the 100% to make the navbar responsive*/ 
 
    height: 58px; 
 
    background-image: url('menu.png'); 
 
    background-size: 100% 100%; 
 
} 
 
    
 
.notification-panel { 
 
    width: 230px; 
 
    height: 800px; 
 
    border: 1px solid red; 
 
    box-sizing: border-box; 
 
}
<div class="container"> 
 
    <div class="navbar"> 
 
    <ul> 
 
    </ul> 
 
    </div> 
 
    <div class="notification-panel"> 
 
    </div> 
 
</div>

+0

Спасибо, ширина: calc (100% - 235px); работал – Looz