Autor | Zpráva | ||
---|---|---|---|
Ivorius Profil |
#1 · Zasláno: 26. 3. 2005, 19:47:59
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 |
#2 · Zasláno: 26. 3. 2005, 20:06:57
tak uz vim. musi to byt v dokumentu a ne v css
|
||
szucs Profil |
#3 · Zasláno: 26. 3. 2005, 21:11:42
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 |
#4 · Zasláno: 26. 3. 2005, 22:31:29 · Upravil/a: Fred
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 |
#5 · Zasláno: 26. 3. 2005, 23:04:57
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 |
#6 · Zasláno: 27. 3. 2005, 09:50:58
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 |
#7 · Zasláno: 27. 3. 2005, 10:06:05
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 |
#8 · Zasláno: 27. 3. 2005, 12:26:42
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 |
#9 · Zasláno: 27. 3. 2005, 12:54:00
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 |
#10 · Zasláno: 27. 3. 2005, 13:08:59
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 |
#11 · Zasláno: 27. 3. 2005, 13:12:42
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 |
#12 · Zasláno: 27. 3. 2005, 14:33:38
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 |
#13 · Zasláno: 27. 3. 2005, 14:36:41
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 |
#14 · Zasláno: 27. 3. 2005, 17:32:56
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 |
#15 · Zasláno: 27. 3. 2005, 17:36:49
Fred
Člen . Suckerfish dropdowns Zaujimave je aj tot riesenie, prestudujem |
||
Ivorius Profil |
#16 · Zasláno: 27. 3. 2005, 17:39:01
jo, podobně. necháš si pak zvalidovat zvlášť ten hlavní css a je to.
|
||
Fred Profil |
#17 · Zasláno: 27. 3. 2005, 18:24:15
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 |
#18 · Zasláno: 27. 3. 2005, 18:27:47
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 |
#19 · Zasláno: 27. 3. 2005, 19:27:03
Ivorius: vesele kopči :o)
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0