Autor Zpráva
Michalka
Profil *
Prosím, jaká je správná syntaxe? <br> nebo <br />, <img ...> nebo <img .... /> , <input ...> nebo <input .... />.
U /> validátor hlásí varování. Proč?
Děkuji za info
normalniclovek
Profil
myslím že je to lomeno na konci jen proto, že je to nepárový tag. Mělo by to být správně asi bez lomena.
Někdo si ty lomena tam dává aby kdyz je to ten neparovy tag aby uzivatel videl kde je konec.
Plaváček
Profil
Michalka:

Na tuto jednoduchou otázku bohužel neexistuje jednoduchá odpověď. Odkrýt tajemství ti pomůže pouze dobrá znalost problematiky HTML (respektive dnes již mrtvého XHTML), což vyžaduje časově náročné studium specifikace. Můžeš si přečíst tohle http://atd.havrlant.net/jak-na-dokonale-xhtml a pak na to zase zapomenout. Protože nejlepší rada, kterou můžeš dostat zní: pokud vše v prohlížeči funguje dle tvých představ, je úplně jedno, jak se k tomu staví nějaký validátor.
normalniclovek
Profil
to moje je taky řešení.
shaggy
Profil
normalniclovek:
Někdo si ty lomena tam dává aby kdyz je to ten neparovy tag aby uzivatel videl kde je konec.
Používateľovi môže byť jedno, kde končí br, img, input, ten do zdrojového kódu nemá čo liezť (a väčšinou tam ani nepôjde).
A ak to potrebuje programátor, aby vedel, kde končí input... možno by mal začať robiť niečo jenoduchšie, prácu, ktorá nevyžaduje vedomosti prvej triedy ZŠ.
normalniclovek
Profil
ja jsem nepsal ze to uzivatelovi ktery to prohlizi pomuze
shaggy
Profil
normalniclovek:
ja jsem nepsal ze to uzivatelovi ktery to prohlizi pomuze
a
aby uzivatel videl kde je konec.
Tak ja neviem, buď sa mi zhoršuje moja schopnosť čítať, alebo si odporuješ.

Ja tvrdím, že písanie lomítok na koniec nepárových elementov je iba zbytočná práca naviac (aj keď ide iba o jeden znak).
juriad
Profil
Jazyk HTML je aplikací jazyka SGLM, a je navržen tak, že nepárové tagy lomítkem nekončí.
(Mrtvý?) jazyk XHTML je aplikací jazyka XML, který sám je aplikací jazyka SGML, jazyk XML vyžaduje nepárové tagy ukončít lomítkem.
Jazyk, kterému prohlížeče rozumí je šílená, často nedokumentovaná nadmnožina obou jazyků: počítá s tím, že kód stránek píše člověk a ten dělá nejrůznější chyby.
Prohlížeči je tedy jedno, jestli tam ty lomítka budou, nebo ne, on to většinou pochopí. (Pokud nepošleš stránky s MIME application/xhtml+xml, pak musí prohlížeč striktně vyžadovat XHTML bez chyb)
Na validátor nevěř, je to jen sluha, který ti občas může poradit: http://kesolim.sweb.cz/validator_je_prima/ (podívej se na její kód)
http://www.webylon.info/K.37, projdi si celý odkázaný web, pokud tě tato problematika zajímá.
normalniclovek
Profil
sorry.
Já jsem myslel uživatele jako kodera.
Radek9
Profil
juriad:
Mrtvý?
Ano. Vývoj jazyka skončil (díky Bohu) někdy v roce 2009. Bohužel to někteří lidé stále nechápou a striktně vyžadují stránky psané v XHTML, přestože je zde novější HTML 5. :-) Nechci nějak extra vytahovat specifikaci (všichni víme, že prohlížeče plno věcí berou jinak), ale to pravé XHTML prostě bylo hrozně ukecané. V HTML můžu navíc vypustit plno zbytečností jako <html>, <head>, <body>, atributy type, alt, šíleně dlouhý doctype atd. Stačí psát jen to, co je nezbyteně nutné.
margin
Profil *
HTML specifikace nic takového, jako "nepárový tag" nezná, jde o hovorové označení pro element , u nějž je zakázaný koncový tag.

Já osobně používám část XHTML syntaxe (jde o mezeru a lomítko na konci, a jak je to s mezerou před lomítlem, vím, nerozebírat), jen když tvořím ukázku kódu v jsFiddle, ten mě odmění tím, že pozná, že jsem ukončil element ;-)

XHTML není mrtvý, nevím, co přesně znamená XHTML 5, ale koukal jsem, jak udělat HTML 5 stránku "podobojí", což znamená, že takový na takový dokument zezelená validátor a nemá s ním problém ani XML, ani HTML parser. Ale dělat něco takového má význam v mizivém počtu případů.
Pro zájemce odkaz http://www.zdrojak.cz/clanky/polyglot-aneb-webovym-koderem-pod-oboji/

Radek9:
Stačí psát jen to, co je nezbyteně nutné.
Lehce si rýpnu řečnickou otázkou, dáváš HTML atributy do uvozovek jen tehdy, když je to nezbytně nutné?
Str4wberry
Profil
(K tématu nepřesného výrazu „(ne)párový tag“ jsme vedli diskusi počátkem roku.)
Chamurappi
Profil
Reaguji na Michalku:
Dalo by se říct, že kanonická podoba je bez lomítka (když si v JavaScriptu necháš od prohlížeče zobrazit innerHTML, ukončovací lomítka tam nebudou). Lomítko je v HTML 5 sice dovolené, ale nemá vůbec žádný technický význam, je tam jen kvůli zpětné kompatibilitě s původní standardizační mytologií.

U /> validátor hlásí varování. Proč?
Protože nejspíš validuješ podle HTML 4 a tam má lomítko dle specifikace jiný význam, přesněji <b>text</b> by mělo jít zapsat zkráceně jako <b/text/ a <br> by mělo jít zapsat zkráceně jako <br/. Tyto zkrácené zápisy ale nikdy nikdo nepodporoval, lomítko prohlížeče ignorují.
Joker
Profil
margin:
nevím, co přesně znamená XHTML 5, ale koukal jsem, jak udělat HTML 5 stránku "podobojí", což znamená, že takový na takový dokument zezelená validátor a nemá s ním problém ani XML, ani HTML parser
Právě proto je řekl bych XHTML mrtvé.
XHTML vlastně řešení nekompatibility mezi XML a HTML přehodilo na prohlížeč: XHTML definovalo XML dokument pro webovou stránku a tak nějak tiše předpokládalo, že HTML dokumenty se nebudou zpracovávat přesně podle formální specifikace HTML, ale tak, jak je dnes prakticky všechny prohlížeče zpracovávají.

HTML 5 ten problém vyřešilo z opačné strany: Prostě se změnila specifikace HTML tak, aby v něm šly psát i dokumenty kompatibilní s XML.
Radek9
Profil
margin:
Hodnoty atributů jsou jiná věc, je dobrá konvence je psát do uvozovek. Zbytečně by pak vznikaly problémy např. u class. Mám na mysli opravdu jen balast, který by tam podle specifikace měl být, ale pro prohlížeče vůbec není důležitý. Ale záleží na vkusu. :-)
Str4wberry
Profil
Mám na mysli opravdu jen balast, který by tam podle specifikace měl být

Podle (HTML) specifikace tam ale ten balast být nemusí. Plno elementů má volitelné otevírací a uzavírající značky. Balast, co je dle specifikace povinný, ale prohlížeč jej nepotřebuje, může být například povinná ukončovací značka posledního elementu na stránce. :–)
eee
Profil *
Xhtml byla a je dobra vec, prinasela do veci rad a poradek. Jenze ho nedokazalo pouzivat kdejake prase delajici stranky.
Joker
Profil
eee:
Téma jestli XHTML je dobrá věc tu kdysi vyvolalo asi nejdelší vlákno v historii fóra.
Ale v té době to ještě bylo relevantní, dnes mi přijde úplně zbytečné to znovu otevírat.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: