[gdrcd 5.x] Css diverso a seconda della risoluzion
[gdrcd 5.x] Css diverso a seconda della risoluzion postato il 03/01/2012 11:43:27 nel forum programmazione, open source e hosting
Dunque dunque... sto provando diverse opzioni per cercare di arrivare ad un punto soddisfacente con la grafica. Questa "via" che ho provato a esplorare prevede che, a seconda della risoluzione dello schermo, si carichi un css diverso. Ora... fermo stando che so che il problema potrebbe essere risolto in altro modo... non capisco perchè, per come agisco... la cosa non funzioni xD e sarei quindi "didatticamente" - diciamo così xD - curiosa di capirne le ragioni xD
sostanzialmente io ho fatto un test, prendendo, per il momento, solo il file main.css e creando un file main1.css, per le risoluzioni oltre un certo tot. Ho utilizzato questo script
<script type="text/javascript">
if (screen.width>= 1000) {
document.write("<link href='themes/<?php echo $PARAMETERS['themes']['current_theme'];?>/main1.css' rel='stylesheet' type='text/css'/>");
}
else {
document.write("<link href='themes/<?php echo $PARAMETERS['themes']['current_theme'];?>/main.css' rel='stylesheet' type='text/css'/>");
}
</script>
e sostanzialmente il file header.inc mi diventa così
<link rel="stylesheet" href="themes/<?php echo $PARAMETERS['themes']['current_theme'];?>/homepage.css" type="text/css" />
<link rel="stylesheet" href="themes/<?php echo $PARAMETERS['themes']['current_theme'];?>/chat.css" type="text/css" />
<link rel="stylesheet" href="themes/<?php echo $PARAMETERS['themes']['current_theme'];?>/presenti.css" type="text/css" />
<link rel="stylesheet" href="themes/<?php echo $PARAMETERS['themes']['current_theme'];?>/scheda.css" type="text/css" />
<link rel="stylesheet" href="themes/<?php echo $PARAMETERS['themes']['current_theme'];?>/messaggi.css" type="text/css" />
<link rel="stylesheet" href="themes/<?php echo $PARAMETERS['themes']['current_theme'];?>/forum.css" type="text/css" />
<script type="text/javascript">
if (screen.width>= 1000) {
document.write("<link href='themes/<?php echo $PARAMETERS['themes']['current_theme'];?>/main1.css' rel='stylesheet' type='text/css'/>");
}
else {
document.write("<link href='themes/<?php echo $PARAMETERS['themes']['current_theme'];?>/main.css' rel='stylesheet' type='text/css'/>");
}
</script>
Dopo di che ho messo questo script ovunque sia richiesto il css del main.. quindi, se non erro, anche in ref_header, logout, login... e basta, se non mi sbaglio xD
Cosa accade? Accade che mi carica il foglio di stile css corretto in base alla risoluzione. Peccato che, al primo refresh automatico [la cosa non si presenta se faccio io un aggiornamento o mi muovo sulla mappa] mi restituisce pagina bianca. Spulciando con firebug scopro che la pagina bianca contiene una head in cui mi carica correttamente il tema css previsto in base alla risoluzione... peccato che, in tutta la pagina, mi carichi SOLO quello, senza caricare il resto dell'header o il codice php della pagina.
Che succede? dove sbaglio? u.u se qualcuno riesce a illuminarmi a mia gratitudine sarà infinita v.v
ps: ho provato pure ad applicare questa soluzione http://www.phpbbitalia.net/forum/off-topic-f72/stili-con-layout-per-risoluzione-t6112.html ↗, che mi sembrava molto semplice e "leggera"... ma non mi funziona minimamente <.<" (sì, ho già modificato a dovere il code di JS per fare in modo che non crei conflitti)
Pagine → 1
03/01/2012 14:56:16
così su due piedi non saprei.
Io commenterei il codice che carica i nuovi css e ci metterei dentro degli alert giusto per sapere che il codice da lì passa. Poi fai fare il refresh automatico e vedi se la pagina è di nuovo bianca. Se lo è allora non è colpa del tuo codice, sarà colpa del codice del refresh, usi javascript o i meta tag?
Se invece la pagina è bianca c'è qualcosa di oscuro nel tuo codice che non capisco.
Maaaa, perchè cambi css al cambiare della risoluzione? Io potrei giocare con una risoluzione di 5000x2000 ma avere il browser aperto solo su metà dello schermo. Il tuo sito di comporterebbe come se il browser fosse aperto a schermo intero.
Quello che al massimo potresti fare è misurare la grandezza della finestra del browser.
Ma in genere semplicemente si usa un layout fluido con css, e al massimo si usano delle immagini diverse in base alla risoluzione usando javascript.
03/01/2012 15:22:41 e modificato da ffwp il 03/01/2012 15:23:06
per il secondo esempio, hai collegato il min di Jquery? nell'header.inc.php? ^^
Lo trovi sul sito ufficiale che al momento è in costruzione per delle modifiche:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js" type="text/javascript"></script>
prova a inserirlo e vedi cosa succede.
Se ancora non riesce prova la versione aggiornata di Jquery:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
altrimenti scarica il file dal sito ufficiale
http://www.jquery.com/ ↗
^^
03/01/2012 17:24:49 e modificato da irenes il 03/01/2012 18:56:21
leoblacksoul ha scritto: Se lo è allora non è colpa del tuo codice, sarà colpa del codice del refresh, usi javascript o i meta tag?
Non lo so, in franchezza : uso gdrcd 5, con elementi della 5.1 e non ho mai "toccato" la funzione di refresh... che non so esattamente come e dove lo faccia.... è questo che mi refresha la pagina, per caso?
<meta http-equiv="refresh" content="<?php echo $i_ref_time; ?>">
leoblacksoul ha scritto:
Ma in genere semplicemente si usa un layout fluido con css, e al massimo si usano delle immagini diverse in base alla risoluzione usando javascript.
ma non è quello che sto facendo io? : perdonami, parto da un'ignoranza totale, lo confesso... ma, se no, come si fa ad usare "immagini diverse in base alla risoluzione usando javascript"?
04/01/2012 00:38:53
cambiando le immagini con javascript, non con il css, intendevo.
Comunque...perchè non usare semplicemente un layout fluido?
05/01/2012 13:37:44
leoblacksoul ha scritto: cambiando le immagini con javascript, non con il css, intendevo.
Comunque...perchè non usare semplicemente un layout fluido?
il mio layout è liquido. Solo che, per come è fatto, ci siamo resi conto che visivamente sarebbe più gradevole se le dimensioni di un elemento dello stesso layout potessimo variarle a seconda della risoluzione [sostanzialmente, a mettere le percentuali, l'effetto grafico non ci risulta gradevole. Da ciò la mia richiesta di delucidazioni u.ù
e, rispondendo a ffwp: provato a far tutto come si dovrebbe, seguendo anche tutte le vie da te indicate... e nulla, quello script pare proprio non funzionare.
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!
Hero Wars ↗
World of Warship ↗
The Coven ↗
World of Tanks ↗
Tiles Survive ↗
Exclusive Villa GdR ↗