Jak najít neukončenou značku?

Neuzavřený element

Špatně uzavřené značky je jedna z mála věcí, ke které se hodí použít validátor:

Elementy neuzavřené nebo uzavřené jinak, než je cílem, mohou způsobovat špatné zobrazení.

V případě nevysvětlitelných problémů s CSS je proto dobré zkontrolovat výsledné HTML validátorem.

Případně mít takovou kontrolu přímo v editoru (nazývá se to linter):

Neuzavřený element

Živá ukázka s neukončeným <div>em

Hledání neuzavřené značky

Validátor sice problém odhalí, ale konkrétní místo neprozradí. Nemá moc jak, protože neví, kde je cílem, aby ukončovací značka byla.

Že je se zanořením problém, jde zjistit ve vývojářských nástrojích zkoumáním DOMu:

Neuzavřený element

Element div.paticka je uvnitř div.stranka, protože není uzavřený div.popis.

U dlouhého kódu se neuzavřená značka hledá dost těžko. A nezbývá než to dělat ručně.

V praxi se mi nejvíc osvědčil postup, kdy se kód bere po velkých blocích a jednotlivé bloky se testují samostatně. Tak jde vylučovací metodou celkem rychle najít problém.

Předcházení neuzavřeným značkám

Protože se špatně uzavřené značky obtížně hledají, je dobré jim předcházet:

  1. Linter v editoru dokáže problém odhalit hned po jeho vzniku. Při jeho používání by se tak problém nikdy neměl stát.

    Do Sublime Text k tomu slouží plugin (nejen pro HTML).

  2. HTML komentář za koncovou značkou může značně pomoci.

    <div class="header">
      …
    </div><!-- /.header -->

    S nástrojem Emmet v editoru Sublime Text to jde dělat automaticky.

  3. Dělit HTML soubory – tento postup je dobrý při používání šablonovacího systému. Výsledné HTML se potom sestavuje z více malých souborů.

    Při tomto postupu je zásadní, aby v rámci jednoho souboru bylo vždy vše otevřeno a uzavřeno. Jinak bude odhalování chyb ještě těžší.

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ářů ↓

Doctype

HTML značka <!doctype>

Jaký (a jestli vůbec) psát <!doctype> do stránky?

HTML atribut scoped

HTML atribut scoped

HTML 5.1 přichází s možností validně používat element <style> i mimo část <head>.

Rozbalovací nabídka <select>

HTML značka <select>

Popis, možnosti a vylepšení rozbalovacího výběru, HTML značky <select>.

HTML Imports

HTML Imports

HTML importy umožňují připojit/vložit do stránky jiný HTML dokument.

Převod inline CSS na externí

Převod CSS v HTML na externí styly

Jak z HTML vybrat id, třídy a inline styly a vytvořit z nich CSS předpis do externího souboru.

Komentáře