2011-01-31 5 views
105

Мне нужно скрыть горизонтальную панель scrambar на iframe, используя css, jquery или js.Скрыть горизонтальную полосу прокрутки на iframe?

+1

можно дублировать: [Safari/Chrome (Webkit) - Невозможно скрыть IFrame вертикальной полосы прокрутки] (HTTP : //stackoverflow.com/questions/1691873/safari-chrome-webkit-cannot-hide-iframe-vertical-scrollbar) и [другие] (http: // stackoverflow.com/questions/2182707/how-to-hide-the-parent-vertical-scrollbar-after-an-iframe-is -load) –

+0

iframe не находится в том же домене, что и родительская страница. – nkcmr

+0

overflow-y: hidden; Не работает в Google Chrome, Safari и Opera. Попробуйте это с помощью http://jsfiddle.net/m5Btd/3/ – phangia2712

ответ

200

Я предлагаю сделать это с помощью комбинации

  1. CSS overflow-y: hidden;
  2. scrolling="no" (для HTML4)
  3. и seamless="seamless" (для HTML5) *

* Атрибут seamless имеет been removed от стандарта, и no browsers поддерживают его.


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

+9

Я загрузил ваш пример в Chrome 15 и все еще вижу полосы прокрутки. – Dan

+61

Добавление атрибута 'scrolling =" no "' в iframe, кажется, удаляет полосы прокрутки в Chrome. – Nick

+2

@Nick Он не удаляет его на хроме, по крайней мере, на моем компьютере. http://img339.imageshack.us/img339/6685/chromelj.png – l46kok

26

набор scrolling="no" атрибут в вашей IFRAME.

2

Этот ответ применим только для сайтов, использующих Bootstrap. Чувствительная функция вставки Bootstrap заботится о полосах прокрутки.

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

Если разрешено изменить код документа внутри вашего iframe и что содержание видна только с помощью его родительского окна, просто добавьте следующий CSS в ваш iframe:

body { 
    overflow:hidden; 
} 

Вот очень простой пример:

http://jsfiddle.net/u5gLoav9/

Это решение позволит вам:

  • Keep вы html5 в силе, так как не нужно scrolling="no" атрибут на iframe (этот атрибут в HTML5 устарел).

  • Работает на большинстве браузеров с помощью CSS overflow:hidden

  • Нет JS или JQuery необходимо.

Примечания:

Чтобы запретить прокрутки полосы по горизонтали, используйте этот CSS вместо:

overflow-x: hidden; 
Смежные вопросы