Я работаю над приложением SPA, которое также будет иметь отзывчивый дизайн.Как сделать отзывчивую и прокручиваемую основную панель для приложения SPA?
План должен состоять из фиксированного заголовка высоты (30px), затем заполненного содержимого и фиксированного нижнего колонтитула высоты (20px). Точно так же, как TableLayoutPanel (Absolute: 30, Percent: 100%, Absoulte: 20) в winforms.
Область содержимого заполняет все доступное пространство из-за размера окна просмотра и не вызывает переполнение, чтобы отображать полосу прокрутки браузера. Вместо этого область содержимого имеет внутреннюю полосу прокрутки. Все содержимое будет загружаться в этой области, поэтому в случае необходимости он покажет полосу прокрутки.
Как я искал и общался с SO друзьями я пришел к этому решению:
<div class="shell">
<header class="shell-header">Header Info</header>
<div class="main-row">
<div class="main-scroll">
<section class="main"
data-bind="router: { transition: 'entrance', cacheViews: true }">
</section>
</div>
</div>
<footer class="shell-footer">Footer Info</footer>
И это стили:
.shell {
height: 100%;
display: table;
width: 100%;
}
.shell-header {
width: 100%;
display: table-row;
height: 30px;
}
.shell-footer {
width: 100%;
display: table-row;
height: 20px;
}
.main-row {
display: table-row;
height: 100%;
width: 100%;
}
.main-scroll {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
background-color: #F5F5F5;
display: block;
height: 100%;
margin: auto;
max-width: 1100px;
position: relative;
width: 100%;
overflow-y: auto;
overflow-x: hidden;
}
.main {
height: 100%;
background-color: whitesmoke;
max-width: 1100px;
width: 100%;
position: absolute;
display: block;
}
Это решение работает отлично подходит для Firefox и Chrome и после любого изменения размера Все в порядке. Но в IE 10 div class="main-scroll"
не заполняет его родительский, а его высота равна 0px
.
Вопрос 1: Почему это так?
Вопрос 2: Какое обходное решение для IE10?
попробуйте добавить '-ms-коробчатого размеров: границы коробки;' к вашему '.main-scroll' –
@AdrianEnriquez нет, он не принимает никакого эффекта. Кажется, что поддерживается 'box-sizing', поскольку IE 8 и версия' -ms', похоже, для более старых версий. – mehrandvd
поднял ваш вопрос. –