Перейти к содержимому


Фотография
- - - - -

Как отключить вертикальный скроллинг сайта в popup окнах


Лучший Ответ Sliapy , 06 May 2013 - 15:12

Как я понимаю, сдвиг делается для того, чтобы если в фенсибоксе-таки понадобится скролл, он не сопадал с основным скроллом браузера.

 

На JBZoo сайте этот сдвиг тоже задается.

 

По тому сайту, что Вы сбросили, заметил одно:

html {

    min-height: 100%;
    overflow-y: auto;
}

Если у Вас тоже есть overflow у html, то попробуйте убрать. На сколько я могу судить по фаербагу, это должно помочь.

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 7

#1 khan007

khan007

Отправлено 06 May 2013 - 09:15

На демо сайте его нет. А у меня он присутствует, поэтому появляется справа полоса прокрутки, сайт под popup окном можно прокручивать вверх-вниз и при этом он сдвигается влево.

Сайт пока на локале...

Прикрепленные изображения

  • ckrolling.jpg

  • 0

#2 SmetDenis

SmetDenis

Отправлено 06 May 2013 - 12:34

посмотрите (поэкспериментируйте) на body, html или внешнем основном врапере свойство position или overflow.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 Sliapy

Sliapy

Отправлено 06 May 2013 - 12:44

Чтобы не было этих раздражающих скачков влево-вправо, я обычно делаю 

body {
     overflow-y: scroll;
}

Тогда скролл справа будет всегда, независимо от высоты контента.


  • 1
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#4 khan007

khan007

Отправлено 06 May 2013 - 13:31

Чтобы не было этих раздражающих скачков влево-вправо, я обычно делаю 

body {
     overflow-y: scroll;
}

Тогда скролл справа будет всегда, независимо от высоты контента.

 

так и у меня прописано. Если ставлю "auto", просто исчезает вторая полоса прокрутки ( на прикрепленном изображении отмеченная стрелкой), но страница сдвигается.

Вот заметил - если на странице не включено popup окно, то в коде присутствует строка

<body class="fancybox-lock" style="font-size: 100%; margin-right: 0px;">

если включить окно, то меняется на

<body class="fancybox-lock" style="font-size: 100%; margin-right: 17px;">

И вот на эти 17px сайт сдвигается влево

На демо сайте происходит те же изменения, но сайт не дёргается.

Поставил другой шаблон - то же самое.

Кстати, вот сайт из списка "Примеры реальных сайтов"  http://fitatlet.ru/m...on-7-2336g.html с той же проблемой.


  • 0

#5 Sliapy

Sliapy

Отправлено 06 May 2013 - 14:44

Попробуйте добавить в CSS:

 

 

.fancybox-lock .fancybox-overlay {
overflow: auto;
overflow-y: auto !important;
}

  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#6 khan007

khan007

Отправлено 06 May 2013 - 14:55

Sliapy, ну это просто уберает полоску, а вот что со сдвигом делать. Посмотрите, я дал ссылку на точно такую проблему.

Вроде бы, она добавляется в файле jquery.fancybox.min.js ( вот в этом месте: (this.el.addClass("fancybox-lock"),!1!==this.margin&&f("body").css("margin-right",l(this.margin)+b.scrollbarWidth)); ) Но что-то изменить что-либо у меня не выходит. Спасибо


Сообщение отредактировал khan007: 06 May 2013 - 15:03

  • 0

#7 Sliapy

Sliapy

Отправлено 06 May 2013 - 15:12   Лучший Ответ

Как я понимаю, сдвиг делается для того, чтобы если в фенсибоксе-таки понадобится скролл, он не сопадал с основным скроллом браузера.

 

На JBZoo сайте этот сдвиг тоже задается.

 

По тому сайту, что Вы сбросили, заметил одно:

html {

    min-height: 100%;
    overflow-y: auto;
}

Если у Вас тоже есть overflow у html, то попробуйте убрать. На сколько я могу судить по фаербагу, это должно помочь.


Сообщение отредактировал Sliapy: 06 May 2013 - 15:13

  • 1
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#8 khan007

khan007

Отправлено 06 May 2013 - 15:32

Спасибо


  • 0




Click to return to top of page in style!