Eliminar la barra de desplazamiento del iframe


117

Usando este código

<iframe frameborder="0" style="height: 185px; overflow:scroll; width: 100%" src="http://www.cbox.ws/box/?boxid=439&boxtag=7868&sec=main" marginheight="1" marginwidth="1" name="cboxmain" id="cboxmain" seamless="seamless" scrolling="no" frameborder="0" allowtransparency="true"></iframe>

Así es como aparece (el cuadro de diálogo en la página de inicio de http://www.talkjesus.com )

¿Cómo elimino la barra de desplazamiento horizontal y modifico el CSS de la barra de desplazamiento vertical?


2
duplicar con stackoverflow.com/questions/4856746/… que tiene una mejor respuesta
Daniël Tulp

Respuestas:


9

en tu css:

iframe{
    overflow:hidden;
}

7
Gracias, pero solo el desplazamiento horizontal y todavía aparece en Firefox. No aparece en Chrome ni en IE. Además, CSS para la barra de desplazamiento se aplica de manera efectiva solo en IE, no en FF ni en Chrome (este último muestra el color / tonos beige de aspecto predeterminado).
Fe en cosas invisibles

3
Esto no funcionará porque el desbordamiento ocurre en el documento iframe, que generalmente no podrá modificar debido a restricciones de seguridad de iframe entre dominios.
thdoan

54
Esto no funciona ya que no afectará el contenido del iframe, solo el iframe en sí. La solución es scrolling = "no".
TheLD

4
Esta es una respuesta incorrecta, no elimina las barras de desplazamiento en Google Chrome, pero scrolling = "no" sí.
Anders Lindén

@LarsVandeDonk Tu respuesta debería ser la solución correcta.
Wong Jia Hau

313

Agregue un scrolling="no"atributo al iframe.


1
capaz de hacer esto con css?
Evorlor

1
Sí, pero luego en Chrome no se puede usar scrollIntoView. Ver code.google.com/p/chromium/issues/detail?id=137214
Peter Brand

1
bueno, esto oculta la barra de desplazamiento del contenido y evita el desplazamiento del contenido. no evita que aparezca la barra de desplazamiento del iframe.
Dave Cousineau

3
El atributo de desplazamiento en el iframe ahora está oficialmente obsoleto. En su lugar, debería utilizarse CSS.
Mike Poole

4
@MikePoole Puede que esté oficialmente obsoleto, pero no ayudó a configurar overflow:hidden;Chrome 65.0.3325.181, pero scrolling="no"ayudó.
un


21

Agregar scroll="no"y style="overflow:hidden"en iframe no funcionó, tuve que agregar style="overflow:hidden"el cuerpo del documento html cargado dentro del iframe.


1
Si esto ayuda, hay un problema en Firefox, donde si tiene un elemento CSS transform: scale(0.7)o similar, esto creará barras de desplazamiento (que aparecerán en su iFrame), a menos que lo recorte con overflow: hidden;un antepasado (podría ser un div en lugar de cuerpo).
WraithKenny

8
Eso es porque es 'scrolling = no', no 'scroll = no'.
Bryan Green

¿Te refieres a cargado dentro de nuestro cargado alrededor? ¿Qué hay alrededor de qué?
João Pimentel Ferreira

cargado dentro de <iframe src = "/ test.html"> donde test.html tiene esta configuración.
nirvana74v

16

Intente agregar un scrolling="no"atributo como el siguiente:

<iframe frameborder="0" scrolling="no" style="height:380px;width:6000px;border:none;" src='https://yoururl'></iframe>


11

Simplemente agregue scrolling="no"y seamless="seamless"atributos a la etiqueta iframe. Me gusta esto:-

 1. XHTML => scrolling="no"
 2. HTML5 => seamless="seamless"

13
El atributo seamless se ha eliminado de HTML .
neopickaze

Debe utilizar css en lugar de un atributo integrado.
Nima Rahbar

@NimaRahbar El atributo seamless puede estar obsoleto, pero css no admite parámetros de iframe.
Carrito abandonado

9

Si alguien aquí tiene un problema para deshabilitar las barras de desplazamiento en el iframe, ¡podría ser porque el contenido del iframe tiene barras de desplazamiento en los elementos debajo del htmlelemento!

Algunos diseños establecen htmly bodyal 100% de altura, y usan un #wrapperdiv con overflow: auto;(o scroll), moviendo así el desplazamiento al #wrapperelemento.

En tal caso, nada de lo que haga evitará que aparezcan las barras de desplazamiento, excepto editar el contenido de la otra página.


8
<div id="myInfoDiv" seamless="seamless" scrolling="no" style="width:100%; height: 100%; float: left; color: #FFF; background:#ed8719; line-height:100%; font-size:100%; font-family: sans-serif>;

Utilice el div anterior y no mostrará la barra de desplazamiento en ningún navegador.


3
seamlessEl atributo no es HTML5 válido, no es compatible con la mayoría de los navegadores ( caniuse.com/#search=seamless ) y la mayoría de los demás estilos son innecesarios.
Pere

8

Agregue esto en su css para ocultar ambas barras de desplazamiento

iframe 
{
  overflow-x:hidden;
  overflow-Y:hidden;
}

6

Este es un último recurso, pero vale la pena mencionarlo: puede usar el ::-webkit-scrollbarpseudoelemento en el elemento iframeprimario de para deshacerse de esas famosas barras de desplazamiento de los 90.

::-webkit-scrollbar {
    width: 0px;
    height: 0px;
}

Editar: aunque es relativamente compatible , es ::-webkit-scrollbarposible que no se adapte a todos los navegadores. usar con precaución :)


2
Esta es la única respuesta que me ayudó. Todavía puede desplazarse, pero no ve la barra de desplazamiento fea. ¡Gracias!
Karmidzhanov

4

Agregue esto en su css para ocultar solo la barra de desplazamiento horizontal

iframe{
    overflow-x:hidden;
}

3
iframe {
  display: block;
  border: none;         /* Reset default border */
  height: 100vh;        /* Viewport-relative units */
  width: calc(100% + 17px);
}
div {
  overflow-x: hidden;
}

De esta manera, hace que el ancho del Iframe sea más grande de lo que debería ser. Luego oculta la barra de desplazamiento horizontal con overflow-x: hidden.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.