2011-01-31 25 views
105

Necesito ocultar la barra de desplazamiento horizontal en un iframe utilizando css, jquery o js.¿Oculta la barra de desplazamiento horizontal en un iframe?

+1

posible duplicado: [Safari/Chrome (WebKit) - No se puede ocultar iframe barra de desplazamiento vertical] (http : //stackoverflow.com/questions/1691873/safari-chrome-webkit-cannot-hide-iframe-vertical-scrollbar) y [otros] (http: // stackoverflow.com/questions/2182707/how-to-hide-the-parent-vertical-scrollbar-after-an-iframe-is-loaded) –

+0

iframe no está en el mismo dominio que la página padre. – nkcmr

+0

desbordamiento-y: oculto; No funciona en Google Chrome, Safari y Opera. Pruébalo con http://jsfiddle.net/m5Btd/3/ – phangia2712

Respuesta

200

yo sugiero hacer esto con una combinación de

  1. CSS overflow-y: hidden;
  2. scrolling="no" (para HTML 4)
  3. y seamless="seamless" (para HTML5) *

* El atributo seamless tiene been removed del estándar y no browsers lo soportan.


.foo { 
 
    width: 200px; 
 
    height: 200px; 
 
    overflow-y: hidden; 
 
}
<iframe src="https://bing.com" 
 
     class="foo" 
 
     scrolling="no" > 
 
</iframe>

+9

Cargué tu ejemplo en Chrome 15 y sigo viendo las barras de desplazamiento. – Dan

+61

Agregar el atributo 'scrolling =" no "' al iframe parece eliminar las barras de desplazamiento en Chrome. – Nick

+2

@Nick No lo elimina en Chrome, al menos en mi computadora. http://img339.imageshack.us/img339/6685/chromelj.png – l46kok

26

conjunto scrolling="no" atributo en el marco flotante.

2

Esta respuesta solo se aplica a los sitios web que usan Bootstrap. La función de inserción receptiva de Bootstrap se ocupa de las barras de desplazamiento.

<!-- 16:9 aspect ratio --> 
<div class="embed-responsive embed-responsive-16by9"> 
    <iframe class="embed-responsive-item" src="http://www.youtube.com/embed/WsFWhL4Y84Y"></iframe> 
</div> 

jsFiddle: http://jsfiddle.net/00qggsjj/2/

http://getbootstrap.com/components/#responsive-embed

13

Si se le permite cambiar el código del documento dentro de su iframe y que el contenido sea visible sólo utilizando su ventana padre, sólo tiene que añadir el siguiente CSS en su iframe:

body { 
    overflow:hidden; 
} 

Aquí un ejemplo muy sencillo:

http://jsfiddle.net/u5gLoav9/

Esta solución le permitirá:

  • Mantenerlo HTML5 válido, ya que no necesita scrolling="no" atributo en el iframe (este atributo en HTML5 ya no se utiliza).

  • Funciona en la mayoría de los navegadores usando CSS overflow:hidden

  • Sin JS o jQuery es necesario.

Notas:

para no permitir barras de desplazamiento horizontal, utilizar este CSS lugar:

overflow-x: hidden; 
Cuestiones relacionadas