Es un problema conocido, aquí se puede encontrar más información: issues, fancyapps @ GitHub
estoy usando fancybox2 (versión 2.1.5). he resuelto el problema modificando ligeramente el 'jquery.fancybox.css'-archivo:
encontrar el' sección helper' Overlay (comienza en la línea 165) y cambiar dos reglas:
.fancybox-lock {
/* overflow: hidden !important;*/
overflow-x: hidden !important;
overflow-y: scroll !important;
width: auto;
}
y la segunda regla:
.fancybox-lock .fancybox-overlay {
/* overflow: auto;
overflow-y: scroll;*/
overflow: hidden !important;
}
Esto funciona bien suficiente (en mi humilde opinión), aunque la página es desplazable detrás de la superposición.
Al menos se suprime el perturbador efecto de "desplazamiento a la derecha".
Descubrí más tarde que los elementos que se posicionaron con "a la derecha: 0"; fueron desplazados a la izquierda por el ancho de la barra de desplazamiento vertical.
Esto se debe a un margen-derecho establecido por el código fancybox.js-code añadiendo un estilo-nodo dentro del elemento-cabeza.
Para solucionar el problema, simplemente modifique una sola línea de código dentro del archivo jquery.fancybox.js o el archivo jquery.fancybox-2.1.5-pack.js, dependiendo de cuál esté utilizando.
en la línea 2017 de la versión expandida:
$("<style type='text/css'>.fancybox-margin{margin-right:" + (w2 - w1) + "px;}</style>").appendTo("head");
// change it to
$("<style type='text/css'>.fancybox-margin{margin-right: 0;}</style>").appendTo("head");
// perhaps comment out the complete line, I haven't testet it though
o en el .Pack-archivo (línea 46 cerca de EOL):
/* [much more code before] */ f("<style type='text/css'>.fancybox-margin{margin-right:"+(d-a)+"px;}</style>").appendTo("head")})})(window,document,jQuery);
// change it to:
/* [much more code before] */ f("<style type='text/css'>.fancybox-margin{margin-right:0;}</style>").appendTo("head")})})(window,document,jQuery);
// or try to remove the "f().appendTo()"-part completely (untested)
muy probablemente porque la altura de su página no crea barras de desplazamiento verticales, pero fancybox las crea, por lo que cambia la página para hacer espacio para ellas. Puede intentar agregar un CSS 'overflow-y: scroll;' a la etiqueta del cuerpo. – JFK
Gracias, lo intenté, no funcionó. Seguiré taponándome con eso. Podría ser la superposición que Fancybox está intentando crear podría ser el problema, voy a tener que limitarlo. –
Podría ayudarte mejor con un enlace. – JFK