Autor Zpráva
Návštěvník
Profil *
Připravil jsem živou ukázku ale obávám se že není funkční. Uživatelské menu se nezobrazuje tak jak by mělo vypadat na obrázku níže:
http://oi59.tinypic.com/2wec51y.jpg

(zprávy, profil, hledání, nastavení a logout) zbytek obrázku není aktuální (tagy section jsem zaměnil za div, small a menu, ale to teď není podstatné)

Tady je ta ukázka:
http://jsfiddle.net/4ttwY/

Pokud se vám to povede zobrazit podobně jako to mám na obrázku, tak
menu#menu -> ul -> li -> ul
mám problém v tom, že ačkoliv tmavě modrý pruh user menu má 29 px na výšku (v ccs nastavuju výšku 26px) tak když najedete myší např. na Profil a na menu můj profil, tak dobře uvidíte, že celý ten seznam je špatně posunutý. Měl by ležet těsně pod modrým pruhem, aby navazoval. Ale on ho překrývá asi o 3-5 px. Zkoušel jsem to absolutně pozicovat v místě kde je :

#Menu ul li ul { ...
position:absolute; left:-6px;
/** jsem sem zkoušel pozicovat:**/
top:+3px; /** ale nepomohlo to **/
}

Pak jsem zkoušel pozicovat li v místech kde se je relativní pozicování, ale to to posouvá jen položky seznamu. Nejhorší je to, že jsem to včera v noci už měl nastavený ve firebugu ale pak jsem to musel obnovit za zálohy a tak poznámky co jsem si udělal (čísla řádků a změny) mi byly na nic, tak jsem to už nedostal do toho stavu). Před tím mi to pozicování někde fungovalo. Nastavil jsem posun, menu se srovnalo, pak jsem nastavil správnou výšku, padding a margin toho červeného (#Menu ul li a:hover) a zeleného pruhu (#Menu ul li a).

Ty pruhy jsem dal touto barvou (red, green) abych se v tom vyznal. Pomůžete to vyřešit? PS: problém číslo dva je nefunční submenu v IE8 (nerozbalí se - problém v js?).
Návštěvník
Profil *
hm, jenže
var LI = document.getElementById('menu').getElementsByTagName("li");
console.log(LI);

Ve firebugu vypisuje:
[li.msieFix, li, li, li, li, li, li, li, li, li, li, li, li, li, li, li, li, li, li.logout]
Návštěvník
Profil *
Tak jsem to nahrál na web, http://t24.4fan.cz/
tak snad mi někdo poradí jak posunout to rozbalené menu ul tak, aby sedělo s tím prvním ul?
peta
Profil
<style>
#menu ul,
#menu li,
#menu a
{
padding:0 !important;
margin:0 !important;
position:static !important;
top:0 !important;
left:0 !important;
width:auto !important;
height:auto !important;
}
#menu li,
#menu a
{
width:200px !important;
}
#menu ul li {
position:relative !important;
top:0 !important;
left:0 !important;
}
#menu ul ul
{
position:absolute !important;
top:0 !important;
left:0 !important;
}</style>
Tim important jsem se snazil prebit vsechno, co tam uz mas nastavene. Pak uz se ta vyska zbrazi uplne normalne.
Jak to resim ja? Cely styl si ulozim bokem, smazu a postupne tam kopiruji radek po radku, jen ty, co tam musi byt, nic navic
Návštěvník
Profil *
peta:
Díky moc. Ještě to dolaďuju. A víš co dělá ten static? Když mám pod např. menu výpis zpráv (ne v hlavičce ale v divu s obsahem) tak to posune ten výpis doprava. Tak jsem to dal pryč.


peta:
Nejlepší výsledek ke kterému jsem se byl schopen dostat je tento:
http://paste.ofcode.org/ysNvMfrJW7V4Qe9QwqQdaJ

Jenže to stále není ideální. Tím že tam dáš výšku auto, tak ten to nemá šířku pruhu menu ale menší.

Změnou na
height:24px !important;
Docílíš sice správné výšky, jenže zase je tam ten zub jak bylo před tím.

A jsme tam kde jsme byly na začátku. Protože

position:absolute; left:0; top:3px;

Jinak šířka je momentálně správná, ale je třeba v první řadě hlídat zobrazení v IE8.


Oprava:
Tím že tam dáš výšku auto, tak výška toho zvýrazněného pruhu je menší než výška pruhu menu.
Návštěvník
Profil *
Slavnostně oznamuju, že se mi konečně povedlo vyřešit tu výšku a pozici. Chtělo to po mě nastavit ul li ul li:

#menu ul li ul li {position:relative;top:4px;}

A vyvstal nový problém :-( Zase mi to nejde v Opeře 9.64 :-) Přestalo se správně zobrazovat když jsem tam dal ten doctype pro IE4
<!doctype html>

Tedy styly #menu se neaplikují. Ono to nepomůže ani, když odstraním ten doctype.
peta
Profil
Návštěvník:
Ale, proc teda pouzivas tagy z html5, kdyz chces, aby se to zobrazoval v prohlizecich, ktere ty tagy neznaji?
Jinak, na hover se pouziva javascript csshover.htc pro IE.
Bubák
Profil
peta:
proc teda pouzivas tagy z html5
Žádný tag z HTML5 jsem v kódu nenašel.

na hover se pouziva javascript csshover.htc pro IE
To platí jen pro IE 6 a starší. Pokud je IE 7 a novější ve standardním režimu, což zajistí třebas <!doctype html>, tak IE umí hover nad téměř každým elementem (výjimky jsou třebas object, embed, iframe, ...), stejně, jako ostatní prohlížeče.
Návštěvník
Profil *
Již jsem to aktualizoval na webu takže to vypadá takhle:

http://t24.4fan.cz/

Můžete ještě poradit proč se user menu nezobrazuje správně v Opeře (9.64)?

Vidíte ještě nějaké problémy? Třeba ve chromu nebo moderních verzích?
Návštěvník
Profil *
Tak na webu se mi to povedlo rozjet, jenže na localhostu ne :-O

Možná byl problém v importování stylu - byl tam tag styl a příkaz @import ... nevím přesně k čemu má sloužit tenhle příkaz, ale přepsal jsem to na standardní link s relativní cestou. Teď jsem zjistil, že ty chyby Expected ruleset vznikaly kvůli absolutní cestě. Tak jsem to změnil a už to chyby v OP nedává, ale usermenu se tam stále nezobrazuje se styly.


na localhostu

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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