Jak skrýt posuvník v <iframe>

Element <iframe> se v minulosti používal ke skládání stránek, v dnešní době se zpravidla používá pro vkládání služeb třetích stran na vlastní stránky.

Typicky věci jako:

  • chatovací okno,
  • nápověda,
  • platební brána,
  • dotazník,
  • reservační kalendáře

Výhoda rámu je v tomto případě hlavně v tom, že jsou obě stránky od sebe isolované.

Nepřepisují si tak styly nebo skripty. Komunikace mezi stránkou A a stránkou B obvykle probíhá jen přes postMessage.

Z isolovanosti stránky načítané v <iframe> vyplývá, že scrollbar nejde ovlivňovat. Nebo by alespoň neměl jít, protože jde o část stránky v rámu načítané.

Zákaz scrollování

Jedna možnost, jak se scrollbaru zbavit, je zabránit rolování HTML atributem scrolling="no".

To může být trochu nepraktické, protože se potom nejde dostat k případnému obsahu, který se nevejde.

Skrytí scrollbaru

Při zachování možnosti rolovat jde využít CSS triku, kdy se pro <iframe> nastaví šířka o šířku posuvníku větší (pomocí calc).

To se ořízne přes overflow: hidden pro obal rámu.

Šířka posuvníku bývá zpravidla do 17 px.

.no-scrollbar {
    width: 100%;
    overflow: hidden;
}
.no-scrollbar__iframe {
  width: calc(100% + 17px);
}

Živá ukázka

To je všechno. Líbil se vám článek a chcete se dozvědět, až vyjde další?

Sledujte:

 

Připomínky mi pište do komentářů ↓

Zvýraznění aktivní kotvy

Zvýraznění aktivované kotvy (:target)

Pokud se v rámci stránky používají odkazy na jednotlivé #části, může být vhodné zvýrazněním ukázat, kam odkaz mířil.

Odrolování na element

Odrolování na určitý HTML tag

Nestačí-li běžné odrolování na HTML #kotvu, přichází na řadu JavaScript.

Zvýraznění podle rolování

Označení odkazu na kotvu, pokud je na ní odrolováno

U jednostránkových webů s fixní navigací (s odkazy na #kotvy) může být vhodné právě viditelnou (aktivní) položku zvýraznit.

Zakázat rolování stránky

Jak zakázat scrollování na stránce

Někdy se hodí zamezit uživateli v rolování, jaké existují možnosti?

Změna location.hash bez odrolování stránky

Změna location.hash bez posunu stránky

Jak změnit location.hash bez posunutí stránky.

Komentáře