Скрыть горизонтальную полосу прокрутки на фрейме? - PullRequest
110 голосов
/ 01 февраля 2011

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

Ответы [ 4 ]

206 голосов
/ 01 февраля 2011

Я бы предложил сделать это с комбинацией

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

* Атрибут seamless удален от стандарта и без браузеров его поддерживают.


.foo {
  width: 200px;
  height: 200px;
  overflow-y: hidden;
}
<iframe src="https://bing.com" 
        class="foo" 
        scrolling="no" >
</iframe>
26 голосов
/ 10 мая 2013

установить scrolling="no" атрибут в вашем фрейме.

14 голосов
/ 23 апреля 2015

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

body {
    overflow:hidden;
}

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

http://jsfiddle.net/u5gLoav9/

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

  • Сохранить ваш HTML5 действительным, так как он не нужен scrolling="no" атрибут iframe (этот атрибут в HTML5 устарел).

  • Работает в большинстве браузеров, использующих CSS переполнение: скрыто

  • Нет необходимости в JS или jQuery.

Примечания:

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

overflow-x: hidden;
2 голосов
/ 12 февраля 2015

Этот ответ применим только для сайтов, которые используют 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

...