Показать сообщение отдельно
Старый 29.02.2012, 14:39   #4
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Проблема всех времен и народов

Поясни вот эти моменты:
Страница никогда не скролится вообще, или там есть скроллинг, но по центру нужно иногда модальное окошко?

Если первое, тогда не используй fixed, а юзай absolute.
Если тебе нужно установить объект по центру экрана, то используй JavaScript, для таких целей jQuery будет очень удобным:
$(window).innerWidth() и $(window).innerHeight() - получают размеры экрана.
Далее имея размеры блока, позиционируешь его как нужно (по центру, простая математика).
При этом позиционируй так, чтобы этот элемент не выходил влево и вверх за пределы окна, т.к. тогда будет обрезаться. Для позиционирования, используй margin или top / left. (я бы юзал top / left, а margin оставил бы, т.к. может пригодиться для дизайна).
Элемент (модальное окошко), должно иметь css аттрибут display:inline-block.
Далее можно играться со скриптом, т.к. там есть евенты: touchstart, touchmove, touchend - их отлавливаешь, и используешь данные из них, для ручного скроллинга блока.
Гугл знает много.

Второй вариант - это без скриптов вообще, а только CSS, но с использованием @media.
Суть такова что в CSS3 есть такая фича, что можно определить разные CSS правила с учётом условия. Например если разрешение окна меньше чем 600 - то применять стили для мелких разрешений, иначе оставить стандартные - для десктоп экрана.
Вот почитай, там и примеры есть: http://coding.smashingmagazine.com/2...-your-website/

Ты затронул тему, которая называется: Responsive Design.

Я советую это дело решать CSS'ом, а не JS'ом, т.к. это шустрее и более стабильно.
(Offline)
 
Ответить с цитированием