2012-12-24 2 views
1

У меня есть сайт с несколькими <div>, настроил подобных этому примеру http://jsfiddle.net/kLQ5z/1/Поплавок взлома не заставляет появляться полосы прокрутки.?

Проблема заключается в том, что если посетитель имеет небольшой экран, outerContent будет вне экрана.
Как правило, появлялись полосы прокрутки, но поскольку я установил <div> с таким хакером, они не появляются, и вы даже не можете использовать горизонтальную прокрутку мыши.

Любая помощь?

+0

В каком браузере у вас возникла эта проблема? Полосы прокрутки отображаются на моем JSFiddle с помощью Chrome. –

+0

Да, я только заметил, что на JSFiddle действительно отображаются полосы прокрутки ..:/Я использую версию 17.0.1 Firefox. Я попытаюсь выяснить, вызвана ли проблема разницей между моим фактическим кодом и кодом, который я написал в JSFiddle, или тем фактом, что я фактически использую JSFiddle. Brb. –

+0

Отредактировано JSFiddle. –

ответ

0

Я играл с вашим jsFiddle и here's something that seems to work. В общем, что я был итеративный процесс:

  1. Для того, чтобы полосы прокрутки появляются, когда плавающие окна выходит за пределы экрана, он должен находиться в пределах области содержимого.

  2. Один из способов сделать это, чтобы придать основному ящику фиксированное левое поле, но для его центрирования нам необходимо обернуть его в внешний div с помощью margin: auto.

  3. Чтобы сохранить его ровно сцентрированный, нам также необходимо дать ему соответствующее правое поле.

  4. Но в идеале, если экран слишком узкий, чтобы показать его полностью, мы бы хотели, чтобы этот край был выжат, прежде чем появятся полосы прокрутки. Что работает в CSS? Ячейки таблицы! Поэтому вместо фиксированного поля мы используем пустой фиктивный div с display: table-cell.

Это все еще хак, и я был бы удивлен, если бы его не удалось улучшить. Я также не очень хорошо его тестировал, но, по крайней мере, он работает на Chrome.

+0

Nevermind Последний комментарий. Легко фиксируется с использованием margin-right. Благодарю. –

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