[RISOLTO][GDRCD 5.4] Menų in topframe non centrato
[RISOLTO][GDRCD 5.4] Menų in topframe non centrato postato il 18/06/2017 17:11:37 nel forum programmazione, open source e hosting e modificato da fujafox il 21/06/2017 20:14:50
Ciao a tutti!
Dopo settimane di prove pių o meno vane, mi rivolgo a voi nella speranza possiate aiutarmi. Per la realizzazione di diversi menų (uno nella colonna di sinistra e uno nel top-frame) ho seguito le guide trovate su questo forum, pių esattamente queste due: https://www.gdr-online.com/readforum.asp?id=215092 ↗ e https://www.gdr-online.com/readforum.asp?id=221334 ↗.
Sono riuscita a sdoppiare i menų e a dargli effetti CSS diversi, anche se per riuscirci alla fine ho dovuto sdoppiare la pagina link_menu.inc.php, e realizzarne una seconda che ho chiamato link_menu_up.inc.php, e che viene richiamata dal menų che ho inserito nel top-frame. Speravo che, con questa soluzione, sarei finalmente riuscita a risolvere il problema principale: il menų superiore non vuole saperne di starsene al centro del frame-top, e continua a essere spostato sulla sinistra (la prima voce del menų dista dal bordo laterale del frame solo per i 20px che gli ho assegnato di padding).
Per intenderci, questo č il risultato attuale:
Questo č il codice delle pagine interessate:
config.inc.php:
/*COLONNA ALTA*/
$PARAMETERS['top_column']['box']['link_menu_up']['class'] = 'link_menu_up';
$PARAMETERS['top_column']['box']['link_menu_up']['page'] = 'link_menu_up';
$PARAMETERS['names']['gamemenu']['secondo_menu'] = 'Menu 2';
$PARAMETERS['top_column']['box']['link_menu_up']['menu_key'] = 'secondo_menu';
$PARAMETERS['top_column']['box']['link_menu_up']['no_gotomap_list'] = true;
link_menu_up.inc.php:
echo '<div class="link_menu_up"><a href="' . $link_menu['url'] . '" id="link_' . $mkey . '_' . $key . '"';
foreach ($link_menu as $k => $v) {
if (!in_array($k, array('text', 'image_file', 'url', 'image_file_onclick', 'sprite'))) {
echo $k . '="' . $v . '"';
}
}
echo $content . '</a></div>';
main.css:
div.link_menu_up{
width:auto;
margin:0 auto;
text-align:center;
display:inline-block !important;
padding:0 0 0 20px;
font-size:13px;
}
div.link_menu_up a{
display:inline-block;
text-transform: uppercase;
text-shadow: 0px 2px 3px #080808;
padding:5px;
text-align:center;
}
div.link_menu_up a:hover{
display:inline-block;
text-transform: uppercase;
text-shadow: 0px 2px 3px #080808;
background-color:none;
text-decoration:none;
-moz-border-radius:5px;
-webkit-border-radius:5px;
-khtml-border-radius: 5px;
border-radius:5px;
}
div.link_menu_up a.sprite {
margin:auto;
display: block;
width: 50px;
height: 50px;
background: no-repeat top left;
}
div.link_menu_up a.sprite:hover {
background-position: 0 100%;
}
left-top_frames.php:
#framecontentLeft, #framecontentTop{
position: absolute;
top: 0;
left: 0;
width: 210px; /*Width of left frame div*/
height: 100%;
overflow: hidden; /*Disable scrollbars. Set to "scroll" to enable*/
}
#framecontentTop{
top:5px;
left: 210px; /*Set left value to WidthOfLeftFrameDiv*/
right: 0;
width: auto;
height: 95px; /*Height of top frame div*/
overflow: hidden; /*Disable scrollbars. Set to "scroll" to enable*/
background-color:rgba(0,0,0,0.3);
border:solid 1px #DC5100;
-moz-border-radius:5px; /* Bordi arrotondati */
-webkit-border-radius:5px;
-khtml-border-radius: 5px;
border-radius:5px;
text-align:center;}
Grazie anticipatamente a chiunque abbia voglia di aiutarmi!
Pagine → 1
19/06/2017 09:43:02 e modificato da maclay il 19/06/2017 09:44:25
Da quello che vedo, sia il #framecontentTop che il div.link_menu_up sono settati su "width: auto;".
Questo parametro, settato in questo modo, ha la precedenza sul posizionamento con "margin: 0 auto;".
Il mio consiglio quindi č di settare il #framecontentTop perchč abbia un width abbastanza largo da prendere tutta la pagina, quindi (ti faccio qualche esempio, tu scegli pure quello che si adatta meglio alla tua situazione):
#framecontentTop {
width: 100%; /* metodo "classico" */
width: 100vw; /* metodo un po' pių nuovo della % */
width: calc(100vw - 210px); /* metodo che calcola la larghezza del frame sottraendo a quella della finestra del browser (vw) la larghezza del frame sinistro (210px); */
}
Fatto questo, se non ci sono altri div contenitori, settando anche il width del div.link_menu_up dovresti essere a posto.
Fai qualche prova e facci sapere!
20/06/2017 12:10:05 e modificato da fujafox il 20/06/2017 12:21:15
Innanzitutto, grazie mille per le dritte :)
Ho modificato i width del Topframe e del div.link_menu_up come da te suggerito, e in effetti sembra che rispetto a prima i link del menų siano un po' pių centrati, il problema č che ora il codice ignora il comando display:inline-block, e i link non vengono pių visualizzati in linea orizzontale bensė come elenco verticale.
In pratica, cosė:
Le modifiche effettuate sono le seguenti (non ho toccato nient'altro):
div.link_menu_up{
display:inline-block !important;
width:100vw;
margin:0 auto;
text-align:center;
padding:0 0 0 20px;
font-size:13px;
}
e
#framecontentTop{
top:5px;
left: 210px; /*Set left value to WidthOfLeftFrameDiv*/
right: 0;
width: calc(100vw - 210px);
height: 95px; /*Height of top frame div*/
overflow: hidden; /*Disable scrollbars. Set to "scroll" to enable*/
background-color:rgba(0,0,0,0.3);
border:solid 1px #DC5100;
-moz-border-radius:5px; /* Bordi arrotondati */
-webkit-border-radius:5px;
-khtml-border-radius: 5px;
border-radius:5px;
text-align:center;}
Quanto ad altri contenitori, ho provato a dare un'occhiata col tool Ispeziona e mi sembra che altri implicati nel Topframe possano essere: div.innertube e div.colonne_top. Solo che mi sembra che innertube si riferisca a tutte le colonne e non solo al topframe, mentre div.colonne_top č nell'html ma non riesco a trovare il css di riferimento (perdona l'ignoranza).
Qualche idea?
Ancora grazie mille per la disponibilitā!
21/06/2017 10:23:36 e modificato da maclay il 21/06/2017 10:27:23
La colpa č mia, ti ho effettivamente dato i nomi sbagliati.
Ho rifatto delle prove sul mio menų top, con questi parametri:
div.colonne_top {
width: calc(100vw - 210px); /* ma puoi settarla come preferisci */
}
div.pagina_link_menu { /* dovrebbe corrispondere al tuo link_menu_up */
width: 800px; /* ovviamente qui la larghezza la devi settare per il tuo menų */
margin: 0 auto;
}
Prova cosė e fammi sapere!
EDIT: mi raccomando, setta bene la larghezza del link_menu_up. Non a 100vw o 100% o cose simili, ma in pixel facendo delle prove per vedere qual'č la larghezza minima che ti serve perchč i link siano effettivamente inline e non vadano a capo. Se poi dovessi aggiungere altri link a quel menų, non dovrai fare altro che aumentarne la larghezza.
21/06/2017 18:01:59
Ooooh, grazie!
Aggiungendo la larghezza a div.colonne_top, togliendola da div.link_menu_up e settandola invece su div.pagina_link_menu_up finalmente il menų si č centrato e allineato in orizzontale. Sembrava impossibile ormai XD
Penso che il thread possa essere considerato come risolto!
Ancora grazie mille!
21/06/2017 18:08:33
Di niente, felice di esserti stata d'aiuto! 😆
Se puoi, modifica il titolo della discussione aggiungendo (RISOLTO) o simile 😁
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Exclusive Villa GdR ↗
State of Survival ↗
Project Entropy ↗
Wuthering Waves ↗
AlterEgo ↗
Foundation Galactic Frontier ↗