Видаліть смугу прокрутки з iframe


117

Використовуючи цей код

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

Так виглядає (shoutbox на домашній сторінці http://www.talkjesus.com )

Як видалити горизонтальну смугу прокрутки та змінити css вертикальної смуги прокрутки?


2
дублікат із stackoverflow.com/questions/4856746/…, що має кращу відповідь
Daniël Tulp

Відповіді:


9

у вашому css:

iframe{
    overflow:hidden;
}

7
Дякую, але лише горизонтальна прокрутка і все ще відображається у Firefox. Не відображається в Chrome чи IE. Крім того, CSS для смуги прокрутки ефективно застосовується лише в IE, а не FF і Chrome (останні показують бежевий колір / відтінки за замовчуванням).
Віра в небачені речі

3
Це не спрацює, оскільки переповнення трапляється в документі iframe, який ви, як правило, не зможете змінити через обмеження безпеки для міждоменного iframe.
thoan

54
Це не працює, оскільки це не вплине на вміст iframe, лише сам кадр iframe. Рішення прокручується = "ні".
TheLD

4
Це неправильна відповідь, не вилучає смуги прокрутки в Google Chrome, але прокрутка = "ні" робить.
Андерс Лінден

@LarsVandeDonk Ваша відповідь має бути правильним рішенням.
Вонг Цзя Хау

313

Додати scrolling="no"атрибут iframe.


1
вдається це зробити за допомогою css?
Еворлор

1
Так, але тоді в Chrome не можна використовувати scrollIntoView. Дивіться code.google.com/p/chromium/isissue/detail?id=137214
Пітер Бренд

1
добре, це приховує смугу прокрутки вмісту і не дозволяє прокручувати вміст. це не перешкоджає появі смуги прокрутки iframe.
Дейв Кузен

3
Атрибут прокрутки на iframe зараз офіційно застарілий. Натомість слід використовувати CSS.
Майк Пул

4
@MikePoole Це може бути офіційно застарілим, але налаштування overflow:hidden;на Chrome 65.0.3325.181 не scrolling="no"допомогло , але допомогло.
десь


21

Додавання scroll="no"та style="overflow:hidden"iframe не спрацювало, мені довелося додати style="overflow:hidden"на корпус html-документа, завантаженого всередині iframe.


1
Якщо це допоможе, у Firefox виникла проблема, де, якщо у вас є елемент CSS transform: scale(0.7)або такий, це створить смуги прокрутки (які відображатимуться у вашій iFrame), якщо ви не вирізаєте його з overflow: hidden;предком (може бути дівом замість тіло).
WraithKenny

8
Це тому, що це "прокрутка = ні", а не "прокрутка = ні".
Брайан Грін

ти маєш на увазі завантажений всередині нашого завантаженого? Що навколо чого?
Жоао Піментел Феррейра

завантажується всередині <iframe src = "/ test.html">, де test.html має цей параметр.
nirvana74v

16

Спробуйте додати scrolling="no"атрибут, як показано нижче:

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


11

Просто додайте scrolling="no"та seamless="seamless"атрибути до тегу iframe. подобається це:-

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

13
Атрибут безшовного тексту видалено з HTML .
neopickaze

Ви повинні використовувати css замість атрибута "безшовний".
Німа Рахбар

@NimaRahbar Атрибут "безшовний" може бути застарілим, але css не підтримує параметри iframe.
Покинутий кошик

9

Якщо хто -то тут виникають проблеми з відключенням скроллбар на iframe, це може бути тому , що зміст цього IFrame має смуги прокрутки на елементи нижче в htmlелементі!

Деякі макети встановлені htmlі bodyдо 100% висоти, а також використовувати #wrapperDIV з overflow: auto;(або scroll), тим самим переміщаючи прокрутку до #wrapperелементу.

У такому випадку нічого, що ви зробите, не завадить показувати смуги прокрутки, крім редагування вмісту іншої сторінки.


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

Скористайтеся наведеним вище ділом, і він не відображатиметься в будь-якому браузері.


3
seamlessатрибут не є дійсним HTML5, не підтримується більшістю браузерів ( caniuse.com/#search=seamless ), і більшість інших стилів непотрібні.
Пер


6

Це в крайньому випадку, але варто згадати - ви можете використовувати ::-webkit-scrollbarпсевдоелемент iframeбатька батька, щоб позбутися тих відомих смуг прокрутки 90-х.

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

Редагувати: хоч це відносно підтримується , ::-webkit-scrollbarможливо, не підходить для всіх браузерів. використовувати обережно :)


2
Це єдина відповідь, яка мені допомогла. Ви все ще можете прокручувати, але ви не бачите потворної смуги прокрутки. Дякую!
Карміджанов

4

Додайте це у свій css, щоб приховати лише горизонтальну смугу прокрутки

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;
}

У такий спосіб ви зробите ширину рамки більше, ніж повинна бути. Потім ви ховаєте горизонтальну смугу прокрутки за допомогою overflow-x: hidden.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.