Autor Zpráva
Debo
Profil *
Ahoj, s validitou většinou problémy nemám ale dnes jsem se setkal s tím že mi validátor vypsal tohle:
The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.

One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").

Nelíbí se mu že mám na bloku odkaz. V css jsem si vytvořil header a na ten header jsem vložil odkaz na index stránky. Jak to mám řešit aby to bylo validní? Děkuji...
Lexter
Profil
Inu, nevkládej blokové prvky do řádkových. Jedním z řešení je udělat odkaz javascriptem (hodně na prd), nebo prostě dej odkaz do blokového prvku a s display:block; ho pak roztáhni po celé jeho velikosti. Dalším řešením je prdět na validitu. Ovšem když to jde jinak a lépe proč to tak neudělat.
Miloš
Profil
Jestliže chci, aby jako odkaz reagoval textový obsah odstavce, dám odkaz do odstavce.
Jestliže chci, aby jako odkaz reagoval celý odstavec, dám ho do odkazu a peku na validitu; ze slušnosti však odkazu v CSS nastavím display:block. Opičárny s javascriptem považuji za s prominutím zbytečnou onanii.
Lexter
Profil
Miloš:
A? Nevidím, že bych js nějak doporučoval. Debo chtěl validní řešení, honba za rebelií je teprve ta zbytečná onanie.
Miloš
Profil
Lexter:
Nevidím, že bych js nějak doporučoval
Já ti to taky nijak nepodsouvám.
Lexter
Profil
Miloš:
To je fakt, promiň.
Bubák
Profil
Lexter:
honba za rebelií je teprve ta zbytečná onanie
Rebelie byla konsorciem posvěcena, ukázka je validní:
<!doctype html>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Je to HTML5 validni</title>
<a href="http://example.com">
<h1>Rebelie?</h1>
<p>Mravenci v kredenci</p></a>
Lexter
Profil
Bubák:
Když do úvah zahrneme něco, co ještě ani není, jistě. Chtěl jsem poradit prakticky.
Bubák
Profil
Lexter:
Zrovna takhle část HTML5 funguje napříč prohlížeči a já ji pokládám za jistou.
Lexter
Profil
Bubák:
Ano, samozřejmě funguje, prohlížeče sežerou cokoli. Navíc ony ani neví že je to součást html5, kdekterý starý prohlížeč to sežere. Ale jsme v tématu, kde chtěl tazatel poradit jak to udělat validně a já mu chtěl poradit za pomocí současně dostupných technologií. Nebo si tam má snad narvat HTML5 doc.? Nyní? Klidně může, samozřejmě. Já se na to zrovna spoléhat nechci, že se něco považuje za jisté, když to jisté není. Až to bude, tak to bude. Nějak se mi nechce psát v HTML5, když ani není zdaleka hotové a ani se mi nechce plést dva jazyky dohromady.
Chamurappi
Profil
Reaguji na Lextera:
Navíc ony ani neví že je to součást html5
Ani to nikdy vědět nebudou. Proč by se měl prohlížeč zabývat verzí HTML víc, než se zabývá např. verzemi CSS a JavaScriptu?

Nebo si tam má snad narvat HTML5 doc.? Nyní?
Je to úplně jedno, ten zkrácený <!doctype> je v HTML 5 pouze proto, aby zapnul standardní režim v prohlížeči, nikoliv proto, aby určil verzi. Na každou HTML stránku budou (a velmi často již jsou) uplatňována pravidla popsaná v HTML 5, dokonce i když v ní <!doctype> nebude.

ani se mi nechce plést dva jazyky dohromady
Nejde je plést dohromady, je jen jedno HTML, které se přirozeně vyvíjí. Proto jsou téměř všechny (kdysi dávno) dokončené specifikace buď mimo mísu, nebo zastaralé a skutečnosti víc odpovídají ty nedokončené (HTML 5, CSS 2.1, DOM v HTML 5). Validátory se můžou také vyvíjet jinou cestou či jiným tempem než specifikace — co je validní teď, nemusí být validní za rok, nebo za deset let v návrhu HTML 6.
Lexter
Profil
Chamurappi:
Ani to nikdy vědět nebudou. Proč by se měl prohlížeč zabývat verzí HTML víc, než se zabývá např. verzemi CSS a JavaScriptu?
Pravda, nemají k tomu důvod. Pro ně je web jen změť zápisů, které je potřeba nějak interpretovat. Při jeho variabilitě je to pak pochopitelné. Marně ale hledám kde jsem řekl, že jim na tom záleží.

Je to úplně jedno, ten zkrácený <!doctype> je v HTML 5 pouze proto, aby zapnul standardní režim v prohlížeči, nikoliv proto, aby určil verzi. Na každou HTML stránku budou (a velmi často již jsou) uplatňována pravidla popsaná v HTML 5, dokonce i když v ní <!doctype> nebude.
Tak to je, ale proč se bavíme o prohlížečích, o kterých téma není? Že to bude fungovat je jasné. Výrobci prohlížečů až na Mozillu nejsou blbci.

Nejde je plést dohromady, je jen jedno HTML, které se přirozeně vyvíjí. Proto jsou téměř všechny (kdysi dávno) dokončené specifikace buď mimo mísu, nebo zastaralé a skutečnosti víc odpovídají ty nedokončené (HTML 5, CSS 2.1, DOM v HTML 5). Validátory se můžou také vyvíjet jinou cestou či jiným tempem než specifikace — co je validní teď, nemusí být validní za rok, nebo za deset let v návrhu HTML 6.
Špatně jsem se vyjádřil. Nejde o odlišné jazyky, ale nevidím důvod proč do sebe patlat více verzí. Nevidím důvod proč rvát blokový prvek do řádkového. Zvláště v tomto případě. To že to bude validní při výměně doctype které se použije pro html5 pro mě není řešení, neboť html5 je daleko i přes všechny podobající se nebo nedokončené, zavrhlé, zastaralé specifikace. Trochu se nám diskuse zvrhla, ale máš pravdu, je v tom bordel. Já bych ty validátory zakázal. Užitečné nejsou, člověk z nich má pupínky.
Chamurappi
Profil
Reaguji na Lextera:
Nevidím důvod proč rvát blokový prvek do řádkového.
To, jak element vypadá, je vedlejší (strčit něco s display: block do něčeho s display: inline je košer) a část těch souvisejících omezení v HTML 4 dává smysl z pohledu sémantiky — aby nešlo dát třeba <blockquote> do <q> nebo <h1> do <font>u. Standardizátoři shlukli řadu logicky ospravedlnitelných složitějších pravidel do jedné jednoduché poučky o blokových a řádkových elementech. Ale zrovna u povolených potomků odkazu ta prapůvodní chytrá myšlenka chyběla — odkaz je odkaz, neexistuje zvlášť řádkový odkaz a zvlášť blokový, člověk si pod tím pojmem může představit cokoliv prokliknutelného. Zákaz nadpisů či odstavců v odkazu nejde ospravedlnit sémantikou. Vznikl nejspíš jen proto, aby byla jednodušší specifikace :-)

Já bych ty validátory zakázal.
Víš kolik lidí by kvůli tomu umřelo hlady nebo na přežrání? :-)
Lexter
Profil
Chamurappi:
Nezbývá mi než souhlasit. Nemůžu říct, že toto omezení má nějaký smysl.

Víš kolik lidí by kvůli tomu umřelo hlady nebo na přežrání? :-)
Hodlám ti risknout :D.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0