Ahoj prosim o pomoc. V menu bych chtěl odkazy jako obrazky tak aby se měnili při průjezdu myši(a:hover) a aktivaci (a:active) všechno je v poho až na jednu věc nemužu přijit jak docilit toho, aby aktivni prvek zůstal aktivní i po odkliknuti (tzn. že aktivni odkaz by měl v menu jiny obrázek než neaktivni)
buhužel zatim to mam jen na lokalu tak dam aspon zdrojak
CSS
}
#menu a
{
display: block;
width: 150px;
height: 40px;
color: #777;
background: url("../pic/T1.jpg") no-repeat;
text-decoration: none;
font-size: 45%;
text-align: right;
}
#menu a:hover
{
background: url("../pic/T2.jpg") no-repeat;
color: #777;
font-size: 45%;
text-align: right;
}
#menu a:active
{
background: url("../pic/T3.jpg") no-repeat;
color: #777;
font-size: 45%;
text-align: right;
}
div.outer span
{
margin:0;
padding: 10px 25px 0 10px;
}
XHTML
<div id="menu">
<div class="outer">
<a href="?ukaz=domu1" title="Odkaz 1"><span>Menu1</span></a>
</div>
<div class="outer">
<a href="?ukaz=domu2" title="Odkaz 2"><span>Menu 2</span></a>
</div>
<div class="outer">
<a href="?ukaz=domu3" title="Odkaz 3"><span>Menu 3</span></a>
</div>
<div class="outer">
<a href="?ukaz=domu4" title="Odkaz 4"><span>Menu 4</span></a>
</div>
<div class="outer">
<a href="?ukaz=domu5" title="Odkaz 5"><span>Menu 5</span></a>
</div>
Doufam že se v tom někdo vyzná předem díky za pomoc
P.S přehazovani obsahu je řešeno přes PHP
<div class="stredni">
<?php /*PHP script pro prehazovani stranek */
$ukaz="pages/".$_GET["ukaz"];
if (! is_null($ukaz)){
if (File_Exists ($ukaz.".php")){
include $ukaz.".php";
}
elseif (File_Exists ($ukaz.".html")){
include $ukaz.".html";
}
else {include "pages/owg.html";}
}
?>
</div>
Fórum › CSS
Aktivni menu
s tím css ti pomůže někdo jinej, ale v tom php kódu bych něco změnil. Zaprvé na co tam je to ověřování is_null když o řádek výš jsi tam přiřadil minimálně pages/ ? Asi to má být jako kontrola jestli $_GET["ukaz"] vůbec existuje. Na to se používá funkce isset. Zadruhý bych tam dal radši readfile($ukaz.".html"), nač includovat soubor html? A když bys v něm chtěl použít php (pak by to mělo smysl, include by ho taky zpracovalo) tak by to byla zas blbost v z hlediska bezpečnosti, protože by si každej tem kód moh přečíst.
ještě mě napadlo, na co tam proboha máš ten <span> u položek menu? ten styl snad můžeš nastavit přímo do #menu a.
muzes napr takhle:
css:
#menu a, #menu a.akt
{
display: block;
width: 150px;
height: 40px;
color: #777;
background: url("../pic/T1.jpg") no-repeat;
text-decoration: none;
font-size: 45%;
text-align: right;
}
#menu a:hover, #menu a.akt:hover
{
background: url("../pic/T2.jpg") no-repeat;
color: #777;
font-size: 45%;
text-align: right;
}
#menu a:active, #menu a.akt
{
background: url("../pic/T3.jpg") no-repeat;
color: #777;
font-size: 45%;
text-align: right;
}
pro html pak pouzit php a podle zvolene polozky te dane polzce pridat class="akt":
<div class="outer">
<a href="?ukaz=domu5" title="Odkaz 5" class="akt"><span>Menu 5</span></a>
</div>
a samozrejme UL a LI!!! :DDDD
jinak bych doporušil udělat menu pomocí tagu <menu></menu> a nebo pomocí seznamu ;-)
MENU neni XHTML 1.0 Strict validni ;)
To insider:ahoj tak sem to zkoušel podle toho tveho kodu ale asi neco delam spatne protoze to nejede mozna to spatne davam nakonec do html pisu do vsech polozek ten class="akt"
ale asi by měl byt jen v jedne a přehazovat??div class="outer">
<a href="?ukaz=owg" title="Odkaz 5" class="akt" <span>Menu 5</span></a></div>
<div class="outer">
<a href="?ukaz=clenove" title="Odkaz 5" class="akt" <span>Menu 5</span></a>
</div>
asi sem to malo vysvetlil :)
takze class="akt" patri pouze k aktualne aktivni polozce, mam menu napr
hlavni stranka
clanky
odkazy
obrazky
ke stazeni
php generovani pak
$aktMenu = array(
"hlStr" => "",
"clanky" => "",
"odkazy" => "",
"obrazky" => "",
"stazeni" => "",
);
switch($_GET["ukaz"]){
case 'clanky':
$aktMenu["clanky"] = ' class="akt"';
break;
case 'odkazy':
$aktMenu["odkazy"] = ' class="akt"';
break;
case 'obrazky':
$aktMenu["odkazy"] = ' class="akt"';
break;
case 'stazeni':
$aktMenu["stazeni"] = ' class="akt"';
break;
default:
$aktMenu["hlStr"] = ' class="akt"';
break;
}
komentarek: do pole s indexem stranky, ktera je prave aktivni se vlozi hodnota class="akt", ktera se vypise pri vypise menu, pokud aktualni stranka neodpovida nastavenym, aktivni bude hlavni stranka
menu pak bude vypadat
<a href="index.php"<?php echo $aktMenu["hlStr"]; ?>>Hlavni stranka</a>
<a href="index.php?ukaz=clanky"<?php echo $aktMenu["clanky"]; ?>>clanky</a>
<a href="index.php?ukaz=odkazy"<?php echo $aktMenu["odkazy"]; ?>>odkazy</a>
<a href="index.php?ukaz=obrazky"<?php echo $aktMenu["obrazky"]; ?>>obrazky</a>
<a href="index.php?ukaz=stazeni"<?php echo $aktMenu["stazeni"]; ?>>ke stazeni</a>
takze podle zvolene polozky se danemu odkazu priradi trida akt, ktera mu zmeni background image na ten potrebny
takze v pripade, ze budu na hlavni strance, bude konecne html v prohlizeci vypadat nejak takhle:
<a href="index.php" class="akt">Hlavni stranka</a>
<a href="index.php?ukaz=clanky">clanky</a>
<a href="index.php?ukaz=odkazy">odkazy</a>
<a href="index.php?ukaz=obrazky">obrazky</a>
<a href="index.php?ukaz=stazeni">ke stazeni</a>
ted uz sem to doufam vysvetlil tak, aby se to dalo pochopit :)
To insider:Je dik ale ja to vyřešil trochu jinak
<div class="outer">
<a href="?ukaz=domu" title="Odkaz 1" <?php if($_GET['ukaz']=='domu') echo 'class="aktivni"'; ?>><span>Odkaz 1</span></a>
</div>
css
#menu a:active, #menu a.aktivni
{
background: url("../pic/T3.jpg") no-repeat;
color: #777;
font-size: 45%;
text-align: right;
}
jinak puvodni ale dik
To insider:Lidi, muze mi nekdo este pomoct s
<?php /*PHP script pro prehazovani stranek */
$ukaz="pages/".$_GET["ukaz"];
if (! is_null($ukaz)){
if (File_Exists ($ukaz.".php")){
include $ukaz.".php";
}
elseif (File_Exists ($ukaz.".html")){
include $ukaz.".html";
}
else {include "pages/Domů.html";}
}
?>
sem v php novacek a nejde mi asi adresa, mám hlavní adresář na disku a v něm index a vedle něj slozku pages a tam ty stránky, takhle
Gravitační pole: index.php
Pages: Teorie.html
Domů.html
a pořád mi to nejde... zkoušel sem dát index vedle, změnit adresu (celou ji dokonce i vypsat) nic... help plz...
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Aktivní položka menu — založil Janina
Aktivní položka v menu z jiné stránky — založil T
Menu - Název vlevo / Menu vpravo — založil Miner123
Aktivní program — založil ffff
Moderátoři diskuze