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
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
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
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
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
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
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
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
Chamurappiprohlížečům je to fuk
Pokiaľ si dobre pamätám tak nie je, niekde to nefungovalo.
Chamurappi
Profil
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
Chamurappi - večer zistím, dám vedieť...
Str4wberry
Profil
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
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
Vite nekdo?
habendorf
Profil
#menu .menu_active a {
background: url('./images/linkactive.gif') center no-repeat;
}
ctverecek
Profil
#menu .menu_active a {
background: url('./images/linkactive.gif') center no-repeat;
}

Ne-e bohužel
tiso
Profil
ctverecek - nauč sa kopírovať:
#menu .menu_active a {
...
habendorf
Profil
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
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
:D diky
Chamurappi
Profil
Reaguji na tisa:
večer zistím, dám vedieť...
Už je večer :-)
ctverecek
Profil
Reaguji na Chamurappi Chamurappi:
Už několik večerů uplynulo :-D
tiso
Profil
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.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0