Я хочу поместить: зафиксировать навигацию в левой части окна браузера (высота 100%). Затем с правой стороны я хочу исправить subnav в верхней части окна браузера (ширина 100%), так что, когда страница прокручивается, оба навигатора придерживаются. И если размер окна изменяется, бары всегда работают на 100%.
У меня почти есть это, единственная проблема заключается в том, что верхний навигатор не учитывает ширину левого навигатора. Таким образом, он позволяет прокручивать вбок. Вот мой html/css:
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
text-align: left;
}
div.leftnav {
width: 160px;
height: 100%;
float: left;
display: inline;
position: fixed;
top: 0;
left: 0;
margin: 0;
padding: 20px;
}
div.rightpage {
float: left;
margin: 0;
padding-left: 200px;
width: 100%;
height: 100%;
}
div.rightpage div.topnav {
width: 100%;
height: 20px;
float: left;
position: fixed;
top: 0;
margin: 0;
padding: 15px;
display: inline;
}
div.rightpage div.content {
padding: 50px;
min-height: 1200px;
}
<body>
<div class="leftnav">
</div>
<div class="rightpage">
<div class="topnav"></div>
<div class="content"></div>
</div>
</body>
Помогите?? Благодарю!
Вы можете использовать функцию calc
чтобы сделать .rightpage
правильной шириной.
html, body {
width: 100%;
height: 100%;
}
.leftnav {
width: 160px;
height: 100%;
position: fixed;
left: 0;
top: 0;
background: blue;
}
.rightpage {
width: calc(100% - 160px);
height: 100%;
margin-left: 160px;
background: red;
}
.topnav {
width: 100%;
height: 40px;
left: 160px;
top: 0;
background: green;
}
Вы можете добавить
div.rightpage div.topnav {
width: 100%;
height: 20px;
float: left;
position: fixed;
top: 0;
margin: 0;
padding: 15px 15px 15px 160px; //Would force the whole of topnav content to the left 160px..
display: inline;
}
Изменить:... Я бы потенциально добавил -moz-box-sizing:border-box; box-sizing: border-box;
-moz-box-sizing:border-box; box-sizing: border-box;
по крайней мере, этому элементу. Это предотвратит выход ваших 100% элементов из пределов от прокладки.