2014-01-30 2 views
0

У меня есть панель содержимого, которая фиксируется в нижней части страницы. Хотя это отлично работает на высоких экранах (где область просмотра выше, чем содержимое панели) на меньших высотах видового экрана (например, мобильный пейзаж) панель исчезает с экрана, а поскольку она равна position: fixed, вы не можете прокручивать содержимое (по вертикали).Предотвращение скрытого переполнения фиксированного элемента

HTML:

<div class="panel"> 
    <div class="panel-content"> 
     <p>Panel contents</p> 
    </div> 
</div> 

CSS:

html, 
body { 
    margin: 0; 
    min-height: 100%; 
    background-color: #eee; 
} 

.panel { 
    position: fixed; 
    bottom: 2em; 
    left: 0; 
    right: 0; 
} 

.panel .panel-content { 
    text-align: center; 
    max-width: 30em; 
    margin: 0 auto; 
    padding: 1em; 
    background-color: #fff;  
} 

Fiddle:

http://jsfiddle.net/benfosterdev/eW2b3/

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

Обратите внимание, что высота панели является переменной.

+0

Вы можете изменить положение с фиксированной к абсолютным или относительным, когда высота окна меньше, чем 400px со средствами массовой информации запросов –

+0

я не понимаю причину для добавления '100%' как 'мин-height' ? – Praveen

+0

@srekoble, к сожалению, я не знаю высоты панели, так как она содержит пользовательский контент. –

ответ

0

Вы уже установили максимальную ширину для панели и .panel-контента. Почему бы не настроить min-width и min-height, чтобы включить переполнение.

JSFiddle

+0

Это не решает проблему. Если вы измените размер окна просмотра браузера на меньшее, чем панель, содержимое будет отключено, и вы не получите полосы прокрутки. –

+0

@BenFoster Фактически, когда я уменьшаю браузер по горизонтали (по оси x), я получаю полосу прокрутки, но не для оси y, поскольку высота не назначена для .panel – Praveen

+0

Мне нужно иметь возможность прокручивать содержимое по вертикали, если высота видового экрана * * меньше, чем у панели. –

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