Jump to content


Photo
- - - - -

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


Best Answer Sliapy , 06 May 2013 - 15:12

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

 

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

 

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

html {

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

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

Go to the full post


  • This topic is locked This topic is locked
7 replies to this topic

#1 khan007

khan007
  • JBZoo User (rus)
  • User rate: 0
  • posts: 34
  • topics: 11

Posted 06 May 2013 - 09:15

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

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

Attached Thumbnails

  • ckrolling.jpg

  • 0

#2 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 06 May 2013 - 12:34

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


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



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


#3 Sliapy

Sliapy
  • JBZoo User (rus)
  • User rate: 50.5
  • posts: 6393
  • topics: 15

Posted 06 May 2013 - 12:44

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

body {
     overflow-y: scroll;
}

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


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

#4 khan007

khan007
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 34
  • topics: 11

Posted 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
  • JBZoo User (rus)
  • User rate: 50.5
  • posts: 6393
  • topics: 15

Posted 06 May 2013 - 14:44

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

 

 

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

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

#6 khan007

khan007
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 34
  • topics: 11

Posted 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)); ) Но что-то изменить что-либо у меня не выходит. Спасибо


Edited by khan007, 06 May 2013 - 15:03.

  • 0

#7 Sliapy

Sliapy
  • JBZoo User (rus)
  • User rate: 50.5
  • posts: 6393
  • topics: 15

Posted 06 May 2013 - 15:12   Best Answer

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

 

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

 

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

html {

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

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


Edited by Sliapy, 06 May 2013 - 15:13.

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

#8 khan007

khan007
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0
  • posts: 34
  • topics: 11

Posted 06 May 2013 - 15:32

Спасибо


  • 0




Click to return to top of page in style!