Moderní tvorba webových aplikací

O webu

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.

3 minuty

Selektor :target

Od Internet Exploreru 9 (včetně) lze použít jednoduché řešení bez JavaScriptu v prostém CSS:

:target {background: #FFCFA4;}

Po kliknutí se v podporovaných zařízeních celý tento blok zvýrazní. (Zrušit.)

Využití

Kromě zvýraznění aktivní kotvy lze :target použít k vytvoření „záložek“ přepínatelných bez načítání dalších stránek.

  • HTML
  • CSS
  • JS
  • PHP
  • HTML je značkovací jazyk.

    CSS není značkovací jazyk.

    JavaScript je klientský skriptovací jazyk.

    PHP je serverový skriptovací jazyk.

    Podobného efektu lze dosáhnout i bez použití :targetu. Stačí jednotlivým záložkám (elementy .tab) nastavit pevnou výšku. Jejich rodiči (element .tabs) overflow: hidden + tutéž pevnou výšku a zbytek už zařídí odkazy na kotvy.

    První
    Druhý
    Třetí

    Odkaz na druhý, třetí a první.

    Zvýraznění kotvy pomocí JS

    Pro starší prohlížeče nezbývá než na :target zapomenout a do CSS přidat zvláštní .target třídu.
    :target, .target {/* styly pro zvýraznění */}
    A tu potom přidávat JavaScriptem v závislosti na hodnotě kotvy, která se nachází v location.hash.

    Stačí-li zvýraznění jen po načtení stránky, kód je velmi prostý.

    var hash = location.hash.substr(1); // první znak je #
    var element = document.getElementById(hash);
    if (element) {
    	element.className+= " target";
    }

    Má-li JavaScript reagovat na průběžnou změnu hashe lze používat od IE 8 včetně window.onhashchange a pro starší časovač. Nebo mít používané hashe u elementů s přesnou výškou v nějakém neviditelném objektu a tam odchytávat onscroll.

    Testovat dostupnost onhashchange lze pomocí.

    if ("onhashchange" in window) {
    	// onhashchange funguje
    }

    Související články

    Stylování <input type=number>

    Jak stylovat <input> pro zadávání čísel.

    7 minut

    Znázornění možnosti scrollování

    Jak dát uživateli informaci, že je možné někam scrollovat.

    10 minut

    Plynulé scrollování na obsah

    Jak vytvořit plynulé odrolování na určitou část stránky.

    6 minut

    Různá šířka <input type=number> s min/max

    Proč má <input type=number> různou výchozí šířku v závislosti na min/max atributech.

    3 minuty

    Web jecas.cz píše Bohumil Jahoda, kontakt
    Seznam všech článků
    2013–2025