Precedente :: Successivo |
Autore |
Messaggio |
atigra Semidio

Registrato: 21/09/05 11:14 Messaggi: 249
|
Inviato: 06 Giu 2006 13:43 Oggetto: |
|
|
Meraviglioso!!! Funziona alla perfezione! Grazzzzzzisssssime!
Posto il codice delle pagine interessate magari torna buono a qualcuno.
Il css:
Codice: |
#menu {
width: 100%;
margin: 3px auto 3px auto;
border: none; /*1px solid #2A73F8;*/
}
#menu ul {
list-style: none;
margin: 0px;
padding: 0px;
}
#menu ul li {
display: inline; /*trasformazione di un elemento blocco in un elemento in linea */
margin: 0px;
padding: 12px;
}
#menu a {
color: #0292D9;
font-weight: bold;
text-decoration: none;
}
#menu a:visited {
color: #056788;
}
#menu a:hover {
color: #FFFFFF;
background: #7EDAF8;
}
#corpo {
height: auto;
width: 100%;
position: relative; /*margin: 10px auto 3px auto;*/
border: none; /*4px solid #06D388;*/
}
#corpo a {
color: #0292D9;
text-decoration: none;
}
#corpo a:visited {
color: #056788;
}
#corpo a:hover {
color: blue;
text-decoration: none; /*underline;*/
}
.attivo a {color: #f7f6f5; background: #ff0000;}
|
menu.php
Codice: |
<?php
// definisce l'array di pagine
$pagine = array ('Home' => 'index.php','Utility' => 'utility.php','Fotogallery' => 'fotogallery.php','TPR' => 'tpr.php', 'Links' => 'link.php', 'Portfolio' => 'portfolio.php');
// inizia l'elenco
echo '<ul>';
// per ogni elemento dell'array di pagine
foreach ($pagine as $text => $link)
{
// inizia la voce di elenco
echo '<li';
// se sono nella pagina linkata
if (substr($_SERVER['SCRIPT_NAME'],strrpos($_SERVER['SCRIPT_NAME'],'/')+1) == $link)
{
// aggiunge la classe appropriata
echo ' class="attivo"';
}
// inserisce link e testo
echo '><a href="' . $link . '">' . $text . '</a></li>';
}
// chiude l'elenco
echo '</ul>';
?>
|
index.php (vale anche per le altre pagine che devono contenere il menù)
Codice: |
<div id="menu">
<?php include ("menu.php"); ?>
</div>
|
|
|
Top |
|
 |
rebelia Dio maturo


Registrato: 17/07/03 09:22 Messaggi: 7987
|
Inviato: 06 Giu 2006 20:55 Oggetto: |
|
|
atigra ha scritto: | Meraviglioso!!! Funziona alla perfezione! Grazzzzzzisssssime!
Posto il codice delle pagine interessate magari torna buono a qualcuno.... |
ottima idea  |
|
Top |
|
 |
atigra Semidio

Registrato: 21/09/05 11:14 Messaggi: 249
|
Inviato: 25 Lug 2006 12:21 Oggetto: |
|
|
Domanda da cento milioni come si modifica lo script php nel caso in cui il menù fosse un po' più complicato? tipo questo intendo...
Codice: |
<ul>
<li><div id="chisiamo"><a href="chisiamo.php">Chi siamo</a></div></li>
<li><div id="contatti"><a href="contatti.php">Contatti</a></div></li>
<li><div id="fotogallery"><a href="fotogallery.php">Fotogallery</a></div></li>
<li><div id="cronaca"><a href="cronaca.php">Cronaca</a></div></li>
<li><div id="link"><a href="link.php">link</a></div></li>
<li><div id="regolamento"><a href="regolamento.php">Regolamento</a></div></li>
</ul>
|
Sono un po' imbranato col php...  |
|
Top |
|
 |
horus Macchinista


Registrato: 22/03/05 10:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 25 Lug 2006 14:46 Oggetto: |
|
|
Basta fare un paio di modifiche:
1) trasformiamo l'array di pagine in modo che l'elemento link sia a sua volta un array che contenga id e url
Codice: | 'Chi siamo' => array('id' => 'chisiamo','url' => 'chisiamo.php') |
e modifichiamo la parte che scrive il gli elementi per inserire il div contenitore
Codice: | echo '><div id="' . $link['id'] . '"><a href="' . $link['url'] . '">' . $text . '</a></div></li>'; |
Risultato finale:
Codice: | <?php
// definisce l'array di pagine
$pagine = array ('Chi siamo' => array('id' => 'chisiamo','url' => 'chisiamo.php'),
'Contatti' => array('id' => 'contatti','url' => 'contatti.php'),
'Fotogallery' => array('id' => 'fotogallery','url' => 'fotogallery.php'),
'Cronaca' => array('id' => 'cronaca','url' => 'cronaca.php'),
'Link' => array('id' => 'link','url' => 'link.php'),
'Regolamento' => array('id' => 'regolamento','url' => 'regolamento.php'));
// inizia l'elenco
echo '<ul>';
// per ogni elemento dell'array di pagine
foreach ($pagine as $text => $link)
{
// inizia la voce di elenco
echo '<li';
// se sono nella pagina linkata
if (substr($_SERVER['SCRIPT_NAME'],strrpos($_SERVER['SCRIPT_NAME'],'/')+1) == $link)
{
// aggiunge la classe appropriata
echo ' class="attivo"';
}
// inserisce link e testo
echo '><div id="' . $link['id'] . '"><a href="' . $link['url'] . '">' . $text . '</a></div></li>';
}
// chiude l'elenco
echo '</ul>';
?> |
Ti mando in privato il numero di conto per il bonifico da cento milioni  |
|
Top |
|
 |
atigra Semidio

Registrato: 21/09/05 11:14 Messaggi: 249
|
Inviato: 25 Lug 2006 16:30 Oggetto: |
|
|
Sapessi che non va... ti metto l'unico link così ci guardi direttamente (se puoi) che non abbia fatto qualche castroneria.  |
|
Top |
|
 |
horus Macchinista


Registrato: 22/03/05 10:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 26 Lug 2006 08:39 Oggetto: |
|
|
Ehm... cosa non va? Il codice preso dalla tua pagina:
Codice: | <ul>
<li><div id="chisiamo"><a href="chisiamo.php">Chi siamo</a></div></li>
<li><div id="contatti"><a href="contatti.php">Contatti</a></div></li>
<li><div id="fotogallery"><a href="fotogallery.php">Fotogallery</a></div></li>
<li><div id="cronaca"><a href="cronaca.php">Cronaca</a></div></li>
<li><div id="link"><a href="link.php">Link</a></div></li>
<li><div id="regolamento"><a href="regolamento.php">Regolamento</a></div></li>
</ul> |
Mi sembra simile a quello che avevi postato qualche messaggio fa. |
|
Top |
|
 |
atigra Semidio

Registrato: 21/09/05 11:14 Messaggi: 249
|
Inviato: 28 Lug 2006 09:35 Oggetto: |
|
|
Allora forse sbaglio io qualche cosa.
Ti metto un po' di codice.
Il menù (menu.php) è così:
Codice: |
<?php
// definisce l'array di pagine
$pagine = array ('Chi siamo' => array('id' => 'chisiamo','url' => 'chisiamo.php'),
'Contatti' => array('id' => 'contatti','url' => 'contatti.php'),
'Fotogallery' => array('id' => 'fotogallery','url' => 'fotogallery.php'),
'Cronaca' => array('id' => 'cronaca','url' => 'cronaca.php'),
'Link' => array('id' => 'link','url' => 'link.php'),
'Regolamento' => array('id' => 'regolamento','url' => 'regolamento.php'));
// inizia l'elenco
echo '<ul>';
// per ogni elemento dell'array di pagine
foreach ($pagine as $text => $link)
{
// inizia la voce di elenco
echo '<li';
// se sono nella pagina linkata
if (substr($_SERVER['SCRIPT_NAME'],strrpos($_SERVER['SCRIPT_NAME'],'/')+1) == $link)
{
// aggiunge la classe appropriata
echo ' class="attivo"';
}
// inserisce link e testo
echo '><div id="' . $link['id'] . '"><a href="' . $link['url'] . '">' . $text . '</a></div></li>';
}
// chiude l'elenco
echo '</ul>';
?>
|
Questa, per esempio, la pagina chisiamo.php
Codice: |
...
<div id="menu">
<?php include ("common/menu.php"); ?>
</div>
...
|
Questo il pezzettino di css interessato:
Codice: |
.attivo a {
background-image: url(immagini/bn6.jpg);
background-repeat: repeat-x;
background-position: bottom;
width: 126px;
height: 30px;
color: #ffffff;
font-weight: bold;
}
#menu {text-align: center; margin: 0px 0px 0px; 0px; font-weight: bold; background: #6a4dfa;}
#menu ul{height: 35px; width: 760px; margin: 0px auto 0px auto; list-style: none; padding: 0px;}
#menu li {float: left; margin: auto 0px auto 0px;}
#menu a {display: block; float: left; width: 100px; border: none; padding-top: 5px;}
#chisiamo a {width: 126px; height: 30px; color: #000000; text-decoration: none;}
#chisiamo a:hover {background-image: url(immagini/bn6.jpg); background-repeat: repeat-x; background-position: bottom; width: 126px; height: 30px; color: #ffffff; font-weight: bold;}
#contatti a {width: 126px; height: 30px; color: #000000; text-decoration: none;}
#contatti a:hover {background-image: url(immagini/bn6.jpg); background-repeat: repeat-x; background-position: bottom; width: 126px; height: 30px; color: #ffffff; font-weight: bold;}
#fotogallery a {width: 126px; height: 30px; color: #000000; text-decoration: none;}
#fotogallery a:hover {background-image: url(immagini/bn6.jpg); background-repeat: repeat-x; background-position: bottom; width: 126px; height: 30px; color: #ffffff; font-weight: bold;}
#cronaca a {width: 126px; height: 30px; color: #000000; text-decoration: none;}
#cronaca a:hover {background-image: url(immagini/bn6.jpg); background-repeat: repeat-x; background-position: bottom; width: 126px; height: 30px; color: #ffffff; font-weight: bold;}
#link a {width: 126px; height: 30px; color: #000000; text-decoration: none;}
#link a:hover {background-image: url(immagini/bn6.jpg); background-repeat: repeat-x; background-position: bottom; width: 126px; height: 30px; color: #ffffff; font-weight: bold;}
#regolamento a {width: 126px; height: 30px; color: #000000; text-decoration: none;}
#regolamento a:hover {background-image: url(immagini/bn6.jpg); background-repeat: repeat-x; background-position: bottom; width: 126px; height: 30px; color: #ffffff; font-weight: bold;}
|
Forse ho esagerato nel css... ma non mi pare ci siano errori. |
|
Top |
|
 |
horus Macchinista


Registrato: 22/03/05 10:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 28 Lug 2006 10:39 Oggetto: |
|
|
Sul sito stai cercando il file menu.txt mentre nel codice che hai postato hai scritto menu.php. Direi di sanare questa incongruenza e poi possiamo guardare gli script. |
|
Top |
|
 |
atigra Semidio

Registrato: 21/09/05 11:14 Messaggi: 249
|
Inviato: 28 Lug 2006 11:59 Oggetto: |
|
|
Ecco sistemato l'errore .txt .php , prima avevo fatto qualche prova per vedere se il problema era il .txt. Tempo fa mi avevi detto che il menù doveva essere .php altrimenti non funzionava. La cosa è inesatta, almeno per come l'ho fatto io va bene .txt che poi viene incluso in una pagina .php (ho già sperimentato la cosa in altri siti).
Adesso resta il problema che la proprietà della pagina attiva non funziona...  |
|
Top |
|
 |
horus Macchinista


Registrato: 22/03/05 10:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 28 Lug 2006 12:02 Oggetto: |
|
|
Hai ragione scusa, mi sono dimenticato di modificare il controllo:
Codice: |
if (substr($_SERVER['SCRIPT_NAME'],strrpos($_SERVER['SCRIPT_NAME'],'/')+1) == $link['url']) |
|
|
Top |
|
 |
atigra Semidio

Registrato: 21/09/05 11:14 Messaggi: 249
|
Inviato: 28 Lug 2006 12:38 Oggetto: |
|
|
Ora funziona, solo che non capisco come mai mi fa il testo in colore nero, io nel css gli ho detto che deve essere bianco... any idea?  |
|
Top |
|
 |
horus Macchinista


Registrato: 22/03/05 10:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 28 Lug 2006 14:29 Oggetto: |
|
|
Ricordati che hai introdotto un div aggiuntivo nei tuoi elementi pertanto la riga
che faceva riferimento ai link figli di un elemento della classe attivo non ti serve più in quanto non ne esistono.
Ora i tuoi link sono figli di un div che a sua voglia è figlio di un elemento della classe attivo
Ciò che non capisco però è perché hai inserito il div, a prima vista mi sembrano tutti formattati allo stesso modo, hai intenzione di diversificarli in un secondo momento?
Strutturalmente sarebbe stato comunque più corretto assegnare una classe all'elemento a per formattarlo piuttosto che introdurre un blocco esclusivamente ai fini grafici, al posto di
Codice: | <div id="chisiamo"><a href="chisiamo.php">Chi siamo</a></div> | io preferirei Codice: | <a id="chisiamo" href="chisiamo.php">Chi siamo</a> |
o, se sono tutti uguali Codice: | <a href="chisiamo.php">Chi siamo</a> | come era prima e li formatti tutti con Codice: | div#menu ul li a {width: 126px; height: 30px; color: #000000; text-decoration: none;}
div#menu ul li a:hover {background-image: url(immagini/bn6.jpg); background-repeat: repeat-x; background-position: bottom; width: 126px; height: 30px; color: #ffffff; font-weight: bold;} |
Attenzione che l'ordine corretto per le pseudo-classi è:
1. link
2. visited
3. hover
4. active
puoi ometterne ma non invertirne altrimenti non vengono interpratate correttamente. |
|
Top |
|
 |
atigra Semidio

Registrato: 21/09/05 11:14 Messaggi: 249
|
Inviato: 28 Lug 2006 16:59 Oggetto: |
|
|
Beh... la previsione era quella, o meglio, all'inizio pensavo di fare ogni link diverso, poi invece mi sono un po' uniformato, ma avevo lasciato appunto un div per ogni voce del menù.
Inoltre, ma potrei anche sbagliare viste le mie scarse conoscenze sull'argomento, non riuscirei ad avere uno sfondo allineato in basso come in questo link. Usando il tag "a" lo sfondo starebbe "sotto" alla voce del menù stesso.
Resta il fatto però, per come stanno adesso le cose, che lo sfondo sul link attivo è corretto ma il colore del testo no...  |
|
Top |
|
 |
rebelia Dio maturo


Registrato: 17/07/03 09:22 Messaggi: 7987
|
Inviato: 31 Lug 2006 12:27 Oggetto: |
|
|
il link attivo?
Codice: |
.attivo a {color: #fff;}
|
e te lo fara' bianco; se lo vuoi di un altro colore, devi modificarne il valore esadecimale sostituendo #fff con... boh, quel che vuoi tu |
|
Top |
|
 |
atigra Semidio

Registrato: 21/09/05 11:14 Messaggi: 249
|
Inviato: 31 Lug 2006 12:33 Oggetto: |
|
|
rebelia ha scritto: | il link attivo?
Codice: |
.attivo a {color: #fff;}
|
e te lo fara' bianco; se lo vuoi di un altro colore, devi modificarne il valore esadecimale sostituendo #fff con... boh, quel che vuoi tu |
No no no... se guardi qui nel css gli è già stato detto di farlo bianco (mi riferisco a .attivo), ma bianco non esce. Tra l'altro, qualsiasi colore tu gli metta (blu per esempio) resta sempre così come lo vedi adesso. Che si può fare?  |
|
Top |
|
 |
rebelia Dio maturo


Registrato: 17/07/03 09:22 Messaggi: 7987
|
Inviato: 31 Lug 2006 12:42 Oggetto: |
|
|
prova a spostare
Codice: |
.attivo a {
background-image: url(immagini/bn6.jpg);
background-repeat: repeat-x;
background-position: bottom;
width: 126px;
height: 30px;
color: #ffffff;
font-weight: bold;
}
|
in calce al resto |
|
Top |
|
 |
atigra Semidio

Registrato: 21/09/05 11:14 Messaggi: 249
|
Inviato: 31 Lug 2006 13:23 Oggetto: |
|
|
rebelia ha scritto: | prova a spostare
Codice: |
.attivo a {
background-image: url(immagini/bn6.jpg);
background-repeat: repeat-x;
background-position: bottom;
width: 126px;
height: 30px;
color: #ffffff;
font-weight: bold;
}
|
in calce al resto |
Ho provato a metterlo in fondo al css... ma non cambia niente. |
|
Top |
|
 |
rebelia Dio maturo


Registrato: 17/07/03 09:22 Messaggi: 7987
|
Inviato: 31 Lug 2006 14:02 Oggetto: |
|
|
atigra ha scritto: | ondo al css... ma non cambia niente. |
hai rimesso tutto come prima? in questo momento io lo vedo ancora a meta' css: http://www.augletorri.it/stile.css
 |
|
Top |
|
 |
atigra Semidio

Registrato: 21/09/05 11:14 Messaggi: 249
|
Inviato: 31 Lug 2006 14:19 Oggetto: |
|
|
Avevo fatto quella prova, cioè di metterlo in fondo, e non era cambiato nulla, per quello lo avevo riportato dove era prima. Adesso comunque lo trovi in fondo... |
|
Top |
|
 |
rebelia Dio maturo


Registrato: 17/07/03 09:22 Messaggi: 7987
|
Inviato: 31 Lug 2006 14:41 Oggetto: |
|
|
atigra ha scritto: | Avevo fatto quella prova, cioè di metterlo in fondo, e non era cambiato nulla, per quello lo avevo riportato dove era prima. Adesso comunque lo trovi in fondo... |
trovato l'inghippo!
Codice: |
#chisiamo a {width: 126px; height: 30px; color: #000000; text-decoration: none;}
|
questo comando ti sovrascrive l'altro (e' piu' vicino al tag a)
domanda: per quale motivo stai usando quel div all'interno del tag li? probabilmente me lo sono persa in qualche spiegazione precedente, ma me lo potresti riassumere pf? (scusa, sono un po' presa e non ho tantissimo tempo per andarmelo a leggere da sola) |
|
Top |
|
 |
|