Autor | Zpráva | ||
---|---|---|---|
ctverecek Profil |
Vidíte někdo nějaký problém v a:active? Jelikoz mi po odkliknuti na jednotlivou stranku zadna zmena v menu neprobiha(aby bylo zobrazeno v menu v jake sekci se prave nechazim)
#menu li{ color:red; list-style-type: none; padding: 7px; margin-left: -25px; } #menu li a{ background: url('./images/link.gif') center no-repeat; display: block; width: 115px; height: 25px; text-decoration: none; padding-top:5px; } #menu li a:hover{ background: url('./images/linkactive.gif') center no-repeat; } #menu li a:active{ background: url('./images/linkactive.gif') center no-repeat; } Moderátor Mistr: Jen doplním, že se jedná o web www.proucetnictvi.cz.
|
||
SwimX Profil |
#2 · Zasláno: 16. 2. 2009, 21:02:37
ctverecek
a active nefunguje jako V jaké sekci jsi, ale ty css se "spustí" při stisknutí (a držení) pokud chceš Zvýraznit aktuální stránku pak v php podle includované stránky ($_GET) přidávej odkazu id="active" a místo a:active udelej a#active |
||
Nox Profil |
#3 · Zasláno: 16. 2. 2009, 21:03:16
ctverecek
V :active žádný problém není, je to v tom, jak ho chápeš. :active je odkaz, na kterém držím právě tlačítko myši (případně je ve chvíli, kdy na něj klikneš), nic jiného Aktivní stránku musíš označit manuálně (podle toho jak máš stránky buď ručně, nebo podmínkou přes php atp.) |
||
ctverecek Profil |
#4 · Zasláno: 16. 2. 2009, 21:17:30 · Upravil/a: ctverecek
HTML:
<ul id="menu"> <li><a id="active" href="domu.html">Domů</a></li> <li><a id="active" href="co-nabizime.html">Co nabízíme</a></li> <li><a id="active" href="kontakt.html">Kontakt</a></li> <li><a id="active" href="nase-sidlo.html">Naše sídlo</a></li> <li><a id="active" href="reference.html">Reference</a></li> <li><a id="active" href="o-ucetnich.html">O účetních</a></li> <li><a id="active" href="odkazy.html">Odkazy</a></li> </ul> CSS: a#active{ background: url('./images/linkactive.gif') center no-repeat; } NEFUNKCNI? Mel jsem za to ze a:hover dela to ze pokud prez nej prejedu mysi nebo na nej kliknu ze zmeni barvu. a:active jsem myslel ze se jednoduse pouzije po kliknuti na dany odkaz . |
||
Trejpa Profil |
#5 · Zasláno: 16. 2. 2009, 23:16:00 · Upravil/a: Trejpa
ctverecek
Nepochopil jsi pseudoelement :active - ten funguje u odkazu na tu krátkou dobu mezi kliknutím a načtením nové stránky. Jiný účel nemá. Pochází z dob, kdy se na načtení nové stránky dlouho čekalo, aby uživatel viděl, na co klikl. Nefunguje to tedy tak, že a:active označí odkaz podle stránky, na které jsi. Aby byl odkaz odlišen, musíš ho nějak označit sám, třeba právě pomocí id="aktivni" a následného nastylování. Na každé stránce bude toto ID pochopitelně u jiného odkazu (lze to pomocí PHP zautomatizovat). Tvůj kód pro úvodní stránku by potom vypadal takto: <ul id="menu"> <li><a href="domu.html" id="aktivni">Domů</a></li> <li><a href="co-nabizime.html">Co nabízíme</a></li> <li><a href="kontakt.html">Kontakt</a></li> <li><a href="nase-sidlo.html">Naše sídlo</a></li> <li><a href="reference.html">Reference</a></li> <li><a href="o-ucetnich.html">O účetních</a></li> <li><a href="odkazy.html">Odkazy</a></li> </ul> EDIT: Upraven kód (nepozornost odhalil Miloš níže). |
||
Miloš Profil |
#6 · Zasláno: 16. 2. 2009, 23:23:37 · Upravil/a: Miloš
ctverecek
Přesně tak, jak napsali moji předřečníci. Chybuješ ale jak ty, tak Trejpa, když dáváte id="active" každému odkazu, poněvadž ID jednoho jména (zde je to active) se v jedné stránce smí vyskytnout jen jednou. Řekl bych, že to tam Trejpa jen zapomněl, protože nakonec u jednoho (právě že jen u jednoho) řádku doplňuje jedinečné id="aktivni". Pokud budeš dělat stránku staticky (HTML), musíš na každé stránce to ID přiřadit jiné položce (právě té „aktivní“). Chceš-li na to jít přes php, jedno z možných řešení viz http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=2&topic=65234#13. |
||
ctverecek Profil |
#7 · Zasláno: 17. 2. 2009, 10:13:37
Miloš
jj musí tam být classy Mé stránky jsou dělány dynamicky pomocí require (na serveru je použit mod rewrite), ale ani tento zápis nejede (co to dělá muzete videt ZDE): HTML: <div id="levypanel"> <ul id="menu"> <li class="aktivni"><a href="domu.html">Domů</a></li> <li class="aktivni"><a href="co-nabizime.html">Co nabízíme</a></li> <li class="aktivni"><a href="kontakt.html">Kontakt</a></li> <li class="aktivni"><a href="nase-sidlo.html">Naše sídlo</a></li> <li class="aktivni"><a href="reference.html">Reference</a></li> <li class="aktivni"><a href="o-ucetnich.html">O účetních</a></li> <li class="aktivni"><a href="odkazy.html">Odkazy</a></li> </ul> </div> <div id="hlavnipanel"> <? if(!isset($_GET['id'])) $_GET['id']=domu; switch ($_GET['id']){ case 'domu': require "./includes/ome.php"; break; case 'co-nabizime': require "./includes/conabizime.php"; break; case 'kontakt': require "./includes/kontakt.php"; break; case 'nase-sidlo': require "./includes/nasesidlo.php"; break; case 'reference': require "./includes/reference.php"; break; case 'o-ucetnich': require "./includes/oucetnich.php"; break; case 'odkazy': require "./includes/odkazy.php"; break; case 'email': require "./includes/email.php"; break; default : require "./includes/ome.php"; break; } ?> </div> CSS: .aktivni{ background: url('./images/linkactive.gif') center no-repeat; } |
||
Chamurappi Profil |
#8 · Zasláno: 17. 2. 2009, 10:28:54
Reaguji na Miloše:
„když dáváte id="active" každému odkazu, poněvadž ID jednoho jména (zde je to active) se v jedné stránce smí vyskytnout jen jednou“ Spíš bych mu vytýkal, že to není to, co chce, než že se na něj bude mračit validátor (prohlížečům je to fuk). Reaguji na ctverecka: „jj musí tam být classy“ Ne. Trejpa ti psal: „Na každé stránce bude toto ID pochopitelně u jiného odkazu“ Miloš ti psal: „musíš na každé stránce to ID přiřadit jiné položce (právě té ‚aktivní‘)“ |
||
tiso Profil |
#9 · Zasláno: 17. 2. 2009, 10:48:01
Chamurappi „prohlížečům je to fuk“
Pokiaľ si dobre pamätám tak nie je, niekde to nefungovalo. |
||
Chamurappi Profil |
#10 · Zasláno: 17. 2. 2009, 11:18:26 · Upravil/a: Chamurappi
Reaguji na tisa:
Vážně? Kde? A z jakého důvodu? Pravidlo o unikátnosti ID v HTML není směrodatné pro ID selektory v CSS, ty mají zaměřit jakýkoliv element s daným ID. |
||
tiso Profil |
#11 · Zasláno: 17. 2. 2009, 14:22:55
Chamurappi - večer zistím, dám vedieť...
|
||
Str4wberry Profil |
#12 · Zasláno: 17. 2. 2009, 16:37:53
Reakce na Chamurappiho:
Tady [#5] byl ale problém především v tom, že měl odkaz dva atributy id, takže Trejpův příklad vůbec nefungoval. |
||
ctverecek Profil |
#13 · Zasláno: 18. 2. 2009, 23:34:01 · Upravil/a: ctverecek
Už jsou malý náznaky toho co chci...ale pořád tomu k dokonalosti "něco" chybí. Chci aby se mi měnilo pozadi odkazem na jednotlive sekce v menu tak jako to je např. ZDE . V HTML mam toho:
<ul id="menu"> <li <?php echo ($_GET['id'] == "domu" ? ' class="menu_active"' : ''); ?>><a href="domu.html">Domů</a></li> <li <?php echo ($_GET['id'] == "co-nabizime" ? ' class="menu_active"' : ''); ?>><a href="co-nabizime.html">Co nabízíme</a></li> </ul> Ovsem nevim co si mam zavolat, jelikoz kdyz si nadefinuju novou tridu menu_active, tak zustava pusodni pozadi odkazu stejne - a to je spatne :-(, potrebuju aby se pri "vlezeni" do nove sekce zmenilo pozadi z url('./images/link.gif') na ('./images/linkactive.gif'). Vysledek momentalne vypada tak ze pri vlezeni do sekce se obrazek ('./images/linkactive.gif') jen soupne doprava...viz. ZDE #menu li{ color:red; list-style-type: none; padding: 7px; margin-left: -25px; } #menu li a{ background: url('./images/link.gif') center no-repeat; display: block; width: 115px; height: 25px; text-decoration: none; padding-top:5px; } #menu a:hover{ background: url('./images/linkactive.gif') center no-repeat; display: block; width: 115px; height: 25px; text-decoration: none; padding-top:5px; } .menu_active{ background: url('./images/linkactive.gif') center no-repeat; } |
||
ctverecek Profil |
#14 · Zasláno: 19. 2. 2009, 15:08:23
Vite nekdo?
|
||
habendorf Profil |
#15 · Zasláno: 19. 2. 2009, 15:12:08
#menu .menu_active a {
background: url('./images/linkactive.gif') center no-repeat; } |
||
ctverecek Profil |
#16 · Zasláno: 19. 2. 2009, 15:15:51
„#menu .menu_active a {“
„background: url('./images/linkactive.gif') center no-repeat;“ „}“ Ne-e bohužel |
||
tiso Profil |
#17 · Zasláno: 19. 2. 2009, 15:24:08
ctverecek - nauč sa kopírovať:
#menu .menu_active a { ... |
||
habendorf Profil |
#18 · Zasláno: 19. 2. 2009, 15:26:47 · Upravil/a: habendorf
ctverecek
Musíš se naučit aspoň kopírovat. Máš tam #menu .menu_active, já jsem ti psal #menu .menu_active a. EDIT: koukám že jsme se s tisem pěkně shodli :o) |
||
habendorf Profil |
#19 · Zasláno: 19. 2. 2009, 15:31:57 · Upravil/a: habendorf
Jinak tedy nevím, proč si tak komplikuješ život a proč nepřidáš tu třídu rovnou odkazu. Pak bys měl jen
#menu a.menu_active, #menu a:hover { background: url('./images/linkactive.gif') center no-repeat; } Ale proti gustu ... |
||
ctverecek Profil |
#20 · Zasláno: 19. 2. 2009, 15:49:18
:D diky
|
||
Časová prodleva: 14 dní
|
|||
Chamurappi Profil |
#21 · Zasláno: 5. 3. 2009, 18:37:50
Reaguji na tisa:
„večer zistím, dám vedieť...“ Už je večer :-) |
||
ctverecek Profil |
#22 · Zasláno: 5. 3. 2009, 18:39:23
Reaguji na Chamurappi Chamurappi:
Už několik večerů uplynulo :-D |
||
tiso Profil |
#23 · Zasláno: 5. 3. 2009, 19:45:54
Chamurappi - nenapísal som tam ktorý večer :-) Zabudol som na to...
Skúšal som to a funguje to, takže som si to pomýlil, pravdepodobne s name u formulárov a ich následným spracovaním. |
||
Časová prodleva: 14 let
|
0