2011-01-31 31 views
105

Ho bisogno di nascondere la scollbar orizzontale su un iframe usando css, jquery o js.Nascondere la barra di scorrimento orizzontale su un iframe?

+1

Eventuali duplicati: [Safari/Chrome (Webkit) - non possono nascondere iframe barra di scorrimento verticale] (http : //stackoverflow.com/questions/1691873/safari-chrome-webkit-cannot-hide-iframe-vertical-scrollbar) e [altri] (http: // stackoverflow.it/questions/2182707/how-to-hide-the-parent-vertical-scrollbar-after-an-iframe-is-loaded) –

+0

iframe non si trova nello stesso dominio della pagina madre. – nkcmr

+0

overflow-y: nascosto; Non funziona in Google Chrome, Safari e Opera. Provalo con http://jsfiddle.net/m5Btd/3/ – phangia2712

risposta

200

sarei suggerisco di fare questo con una combinazione di

  1. CSS overflow-y: hidden;
  2. scrolling="no" (per HTML4)
  3. e seamless="seamless" (per HTML5) *

* L'attributo seamless ha been removed dallo standard e no browsers supportarlo.


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

+9

Ho caricato il tuo esempio su Chrome 15 e vedo ancora le barre di scorrimento. – Dan

+61

Aggiungere l'attributo 'scrolling =" no "' all'iframe sembra rimuovere le barre di scorrimento in Chrome. – Nick

+2

@Nick Non lo rimuove su Chrome almeno sul mio computer. http://img339.imageshack.us/img339/6685/chromelj.png – l46kok

26

set scrolling="no" attributo nel iframe.

2

Questa risposta è applicabile solo per i siti Web che utilizzano Bootstrap. La funzionalità di incorporamento reattivo di Bootstrap si prende cura delle barre di scorrimento.

<!-- 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

Se si è permesso di modificare il codice del documento all'interno del vostro iframe e che il contenuto è visibile solo usando la sua finestra padre, è sufficiente aggiungere il seguente CSS il vostro iframe:

body { 
    overflow:hidden; 
} 

Ecco un esempio molto semplice:

http://jsfiddle.net/u5gLoav9/

Questa soluzione consentono di:

  • Tenervi HTML5 valido in quanto non ha bisogno di scrolling="no" attributo sul iframe (questo attributo in HTML5 è stato deprecato).

  • Opere sulla maggior parte dei browser che utilizzano i CSS overflow:hidden

  • No JS o jQuery necessario.

Note:

Per non permettere barre di scorrimento orizzontale, utilizzare questo CSS invece:

overflow-x: hidden; 
Problemi correlati