Autor Zpráva
Ivorius
Profil
pouzivam csshover.htc a mam to zapsane v css jako @import url(csshover.css); ale to se nelibi validatoru. jak to udelat aby byl valid?
Ivorius
Profil
tak uz vim. musi to byt v dokumentu a ne v css
szucs
Profil
Ahoj, aj mna toto zaujima, mozes to prosim ta napisat konkretne, presne, ako to ma byt zapisane odkaz na htc nema byt v css subore ale priamo v html dokumente?
V znacke style ?
Myslel som si,ze znacak style nie je povolena pre css valid dokument.

Diki za info
Fred
Profil
Problém je, že ,htc není css, ale javascript. Aby bylo css validní, nemůže v něm být behavior. Pokud je v IE vypnut js nepojede ani ,htc. Takže to načti javascriptem

function loadstyle() {
var IEhtcCSS = document.createElement('link');
IEhtcCSS.setAttribute('href','iestyl.css') ;
IEhtcCSS.setAttribute('rel','stylesheet');
IEhtcCSS.setAttribute('type','text/css');
document.getElementsByTagName('head').item(0).appendChild(IEhtcCSS);
}
function loadIE(obj,evType,fn){
if (obj.attachEvent){
var r=obj.attachEvent("on"+evType,fn);
return r;
}}
loadIE(window,'load',loadstyle);

Nebo to strč do podmínkového komentáře (ten zase nefunguje při vypnutých activeX).
habendorf
Profil
A IMHO úplně nejlepší je se na .htc vykašlat úplně. K čemu ho potřebuješ? Třeba to půjde bez něj...
szucs
Profil
A IMHO úplně nejlepší je se na .htc vykašlat úplně. K čemu ho potřebuješ? Třeba to půjde bez něj...
nepojde v IE

Ja som myslel skor nie javascript pouzit, ale nejaky zapis mimo hlavneho subor s @import, take nieco
Fred
Profil
Jedině ten podmínkový komentář
<!--[if IE]>
<link rel='stylesheet' type='text/css' href='style-ie-s-hover-htc.css' media='screen,projection,tv'/>
<![endif]-->
Ivorius
Profil
Jak pise szucs. IE je proste **** a bez toho skriptu to s nim nepujde.
Fred: právě že javascript nechci použít a nepoužil jsem ho (kromě toho htc).

Abyste měli všichni představu, budu citovat Erica Mayera: "Pomocí nestandartní vlastností behavior, naučíme IE novým kouskům..... kód je umístěn ve zvláštním bloku htc souboru, který používá IE pro definici nového chování. Řešení má jednu velkou výhodu - soubor se skriptem si stáhne jen IE, takže ostatní prohlížeče ho nechají bez povšimnutí. Při řešení JavaScriptem by si soubor musely stáhnout všechny prohlížeče.
....I trik s htc souborem má ovšem jednu nevýhodu, vlastnost behavior není součástí standardu CSS. Pokud vám na validitě kaskádového stylu záleží, můžete závadnou definici přenést do zvlášního stylu a ten do hlavního stylu vložit pomocí pravidla @import - díky tomu zůstane hlavní kaskádový styl v souladu se standardem. "
habendorf
Profil
Možná si nerozumíme. Měl jsem na mysli .htc vůbec nepoužít.
Ještě jednou: k čemu ho potřebuješ? Jestli jde o hover na seznamu, mám to vyřešené čistě přes css. Koukni se na w*w*w.brs.cz/new/firma1.php (nechci tu nechat aktivní link) na levé svislé menu nad hledáním. Zkus to v jakémkoliv prohlížeči, zkus si i zvětšovat stránku. Jestli se ti to hodí, klidně si to vykopíruj.
Fred
Profil
Ivorius Pokud vám na validitě kaskádového stylu záleží, můžete závadnou definici přenést do zvlášního stylu a ten do hlavního stylu vložit pomocí pravidla @import - díky tomu zůstane hlavní kaskádový styl v souladu se standardem. " ??? Nejsou tam náhodou někde errata, nechci znevažovat Erica Meyera , ale to je pěkná blbost. Pokud chceš validní css, jsou jen dvě možnosti a ty už máš nahoře vypsané. Ještě drobná oprava pro eliminaci Opery.

var Opera = (navigator.userAgent.indexOf('Opera') != -1);
function loadIE(obj,evType,fn){
if (obj.attachEvent && !Opera){
if (obj.attachEvent){
var r=obj.attachEvent("on"+evType,fn);
return r;
}}
loadIE(window,'load',loadstyle);

Nevím proč vůbec na tohle kdekdo používá .htc, když jsou s tím jenom problémy, je to pořád javascript, tak proč ho tak schovávat, to se jako lidi stydí za to, že by měli v kódu js, nebo co?

http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=1&topic=47 26
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=7&topic=36 12
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=3&topic=30 55
Fred
Profil
Ještě se musím opravit. Tohle je taky blbost: Pokud chceš validní css, jsou jen dvě možnosti a ty už máš nahoře vypsané. Protže tím, že to nevalidní css schovám před validátorem, se validním nestane. A prot říkám udělej to celé javascriptem a hotovo, pokud ti tolik záleží na standardech. Suckerfish dropdowns
Ivorius
Profil
Habendorf: jo to je přesně co jsem potřeboval - díky.
Fred: nevím jestli to blbost je, nebo ne. Rozhodně ale nahlédni do Eric Meyer o CSS - profesionálně a tam to tak je.
Ivorius
Profil
Fred: myslím že Meyer myslel tak, že to nebude v tom hlavním kaskádovým stylu, ale v nějakým jiným (hlavním styl tudíž bude valid)
szucs
Profil
Ivorius

Zdravim, paci sa mi tvoje riesenie, tiez som cital Mayera.
Ako si to riesil s tym importom?

Takto?

<style>

@import url('css.css') // sem si dal htc
</style>
<link rel=" a href="main.css /> //sem si dal cely ostatny css
szucs
Profil
Fred
Člen

. Suckerfish dropdowns

Zaujimave je aj tot riesenie, prestudujem
Ivorius
Profil
jo, podobně. necháš si pak zvalidovat zvlášť ten hlavní css a je to.
Fred
Profil
Ivorius A to je to co mě na tom štve, proto aby byl validní hlavní styl, dám všechny nevalidní věci do stylu ke kterému nebude mít validátor přístup a budu si moci dát ikonku. Chápeš to, je to prostě blbost, ať se na mě nikdo nezlobí, jde o princip. Co takhle udělat styl paskvil.css nějak ho načíst, aby na něj validátor nemohl a do hlavního stylu stačí dát třeba jenom body{background:#fff;color:#fff;} ? Vždyť to na tu ikonku stačí. Když už bych chtěl mít všechno validní, jsou různé možnosti, buď jsem mírně pokročilý a nejspíš použiju tento trik, nebo jsem hodně pokročilý, jako pan Meyer bezpochyby je, takže jistě zná i jiné alternativy. A touto jinou alternativou je použití javascriptu a DOM. Na to aby si zkontroloval, zda je použitý javascript validní DOM, nepotřebuje navíc žádný validátor, stačí poslat dokumentu xhtml správnou mime hlavičku a pokud je js validní bude to fungovat v Gecku. Pokud to v Gecku fungovat nebude, validní to není. Další krok je gecko a operu odříznout, protože je to primárně určeno pouze pro IE. Takže je to prostě od pana Meyera pouhá přízemní snaha o ikonku a to mě zaráží. Proto pokud je taková možnost vždy raději použiji validní js, než nevalidní css.
Ivorius
Profil
njn. život je boj. líbí se mi jak to má habendorf, takže jestli mu to nebude moc vadit tak to okopčím a trošku se v tom pošťárám. :)
habendorf
Profil
Ivorius: vesele kopči :o)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0