Newsgroup: it.comp.www.php
Titolo: domanda sui css e il php

Salve a tutti,
ho una pagina web in cui ci sono un certo numero di schede relative ciascuna 
ad un modellino (anteprima, descrizione sintetica) che vengono aggiornate 
tramite un form di upload che carica e cancella le informazioni da Mysql in 
base alle esigenze dell'utente (pulsanti: elimina scheda, carica scheda)
Il mio problema sta qui: quando un visitatore clicca su una scheda dovrebbe 
apparire in una paginetta a parte la scheda costituita da una pagina php 
(che mi costruisce la pagina html)  e dal foglio di stile collegato.
Dato che ciascuna scheda contiene una galleria di 3 foto relativa al 
modellino mi servirebbe anche di costruire il foglio di stile essendo che la 
galleria funziona usando le informazioni presenti nel CSS secondo questa 
struttura:
#box_galleria a.thumbA
{
    background:url(./immagini/modello_piccola45.jpg);
    height:120px;
    width:180px;
}
#box_galleria a.thumbB
{
    background:url(./immagini/modello_piccola46.jpg);
    height:120px;
    width:180px;
}
#box_galleria a.thumbC
{
    background:url(./immagini/modello_piccola47.jpg);
    height:120px;
    width:180px;
}
Come posso fare? non posso ad ogni richiesta di una scheda far scrivere a 
php su disco un foglio di stile relativo alla scheda richiesta per poi 
cancellarlo e riscriverlo ecc ecc.... Se 20 utenti si connettono gia' 
sarebbe un lavoraccio per il server.
Forse dovrei scrivere su disco il css di ciascuna scheda e lasciarlo li in 
modo che sia "inizializzato" una tantum e sia pronto alla prox richiesta?
Avete un'idea piu' pratica ed efficiente? 

 Avete un'idea piu' pratica ed efficiente?
PS: non posso lasciare i css su disco in quanto fanno riferimento a immagini 
jpeg stoccate nelle tabelle di Mysql e quindi per essere trovate da apache 
non si possono linkare come collegamenti ad una cartella ma e' necessario 
richiamarli con una query a mysql e quindi con php..(quindi nessun css 
statico si puo' usare) 

 }
Secondo me stai snaturando il concetto di css.
Il css da` lo stile della pagina, mentre tu ci stai mettendo del contenuto 
(la foto).
Sarebbe piu` sensato usare un normale <img> nell'HTML o, al limite limite 
limite limite, mettere un css inline nella pagina generata.
Usa <img src="immagini/modello_piccola45.jpg" width="180" height="120"> e 
vivi felice, visto che e` fatto apposta per questo uso.
Bye.

 Avete un'idea piu' pratica ed efficiente? 
Non so se ho capito bene, ma secondo me dovresti avere un css esterno, 
contenente solo
#box_galleria a.thumb {
	height:120px;
	width:180px;
}
poi nel php, quando crei il codice html per il box_galleria, farai un 
ciclo di 3 (o 3 assegnazioni distinte, fai tu)
$html = "<div><a class='thumb' 
style='background:url(./immagini/$nomefile.jpg)'>&nbsp;</a></div>";
Lo stesso vale anche se sei legato a thumbA, thumbB, thumbC come 
struttura, basta togliere il riferimento statico all'immagine nel css 
(che quindi resterà sempre quello), e quando crei le sezioni specifichi 
in modo dinamico lo style contenente l'immagine, all'interno del div.
-- 
Jax

 vivi felice, visto che e` fatto apposta per questo uso.
Stavo per rispondergli allo stesso modo, ma poi ho pensato che magari 
sta usando un template (fatto male, ok) che necessita di questa 
struttura strana...
-- 
Jax

 style='background:url(./immagini/$nomefile.jpg)'>&nbsp;</a></div>";
Ah..si. Dici di mettere uno  stile interno (per l'img di sfondo)  che possa 
essere costruito con la pagina html tramite php, mentre il restante fuori in 
un css separato. E' la soluzione che mi sfuggiva!
Grazie intendevo proprio questo. 

 ha scritto nel messaggio 
news:fae8en$clr$2...@tdi.cu.mi.it...

Beh, ritengo che sia un poco precipitoso dire che il css sia fatto male dato 
il microscopico cencio di codice che ho postato. Comunque le gallerie di 
immagini tramite css con la tecnica dello <span> nascosto vengono fatte 
proprio cosi' anche se si possono discutere le alternativa. Considerate che 
spesso per rendere piu' accattivante l'effetto grafico viene utilizzato lo 
sliding delle thumbnail al momento in cui il muose vi passa sopra; Per 
ottenere quell'effetto si realizza uno sfondo grande il doppio delle 
thumbanail meta' del quale e' caratterizzato dalla thumb in colori reali e 
l'altra meta', per esempio, con la thumb in bianco e nero, quindi al 
passaggio del muose , con la pseudoclasse :hover si fa traslare lo sfondo 
del giusto numero di pixel per ottenere l'effetto che prima si otteneva con 
il java script.
Lo spunto per la mia gallery l'ho preso da qua:
http://www.webmasterpoint.org/webdesign/css/60-galleria-fotografica-con-css.asp

 per ottenere l'effetto che prima si otteneva con il java script.
Sara` bellino, ma e` sbagliato, per una gallery.
Il sito dovrebbe essere visibile anche senza js e css, quindi le 
informazioni devono essere tutte nella pagina.
Il modo migliore, in questo caso, e` usare js per fare anche una piccola 
animazione tra una e l'altra.
Il sito che linki segue comunque questo principio: le miniature servono 
solo come riferimento, ma se disabiliti i css vedi comunque le immagini a 
grandezza piena, quindi non perdi niente.
Bye.

 animazione tra una e l'altra.
Ecco, qui non mi trovi d'accordo. Trovi spesso browser che ignorano per 
motivi di sicurezza il js mentre i CSS no.

 cui ti rivolgi.
Appunto, stai "usando le tabelle per il layout".
Che sia una tecnica diffusa non la rende meno sbagliata.
Si`, (quasi) tutti i siti che usano flash sono sbagliati, perche` flash 
non e` semantico. Andrebbe usato solo per piccole animazioni e 
abbellimenti, non, per esempio, per metterci il menu di navigazione o, 
peggio, l'intero contenuto del sito.
Su YouTube e` necessario, mentre su 
www.mediaworld.it
 e` semplicemente 
sbagliato (oltre che inutile, visto che la stessa cosa si poteva fare in 
HTML+CSS ed eventualmente un po' di js), giusto per fare due esempi.
Purtroppo "e` una tecnica diffusa" anche flash, ma nemmeno qui il fatto 
che sia diffuso lo rende meno sbagliato.
Poi, naturalmente, sei liberissimo di fare quello che vuoi col tuo sito, 
non verro` certo a cercare di crackartelo perche` non sei semantico.
Volevo solo farti notare che stai abusando del mezzo, e che potrebbe 
rivoltartisi contro. Magari e` poco probabile che succeda, ma uomo 
avvisato... :P
Bye.

 Mah, e' una tecnica diffusa tra gli web designer..
Perdona l'intrusione ma Alessandro ha centrato in pieno il tuo bisogno
di aiuto con soluzioni intelligenti sotto vari punti di vista, tra l'altro
ad agevolazione del tuo futuro lavoro di manutenzione.
Personalmente, per le prossime volte, eviterei di tentare di insegnare
argomenti che non conosci a chi ti sta gentilmente indicando la strada
più giusta, dimostrando al contempo di avere ben più chiari concetti
come usabilità, standard, target, tecnologie e conformità dei browser,
e uso corretto delle pratiche web.
Prima si ascolta, si impara, *poi* e ancora *forse* si insegna.
-- 
Aloha, (m|t)
---------------------------------------------------------------------
Comunicazione pubblica e aziendale | Digitale e tradizionale.
Bazzmann|Mag > 
http://www.bazzmann.com
Bazzmann Srl > 
http://www.bazzmann.it
---------------------------------------------------------------------

 Prima si ascolta, si impara, *poi* e ancora *forse* si insegna.
E chi lo dice? Lo dici tu? Forse stai trascurando che l'unico che usa gli 
assolutismi sei tu mentre io fino a questo momento ho sempre usato il garbo 
di manifestare esplicitamente una opinione.
Guarda, quelli che fanno gli insegnanti danno risposte al cui interno i 
tempi dei verbi non contemplano eventualità inoltre propongono le proprie 
argomentazioni come oggettive.
Io tutto ho fatto tranne che fare il presuntuoso infatti ho prestato 
attenzione a scrivere:
"Ma non credo che sia affatto sbagliato" in luogo a "non e' affatto 
sbagliato"
"La correttezza di un sito, secondo me, " in luogo a "la correttezza di un 
sito e'"
e sorvogliamo su tutti i condizionali che ho usato a differenza tua che 
evidentemente riesci ad inquadrare una persona leggendo *male* e in fretta 
poche righe.
Quindi trovo fuori luogo questa tua uscita.
Presto sempre molta attenzione al tono che uso e ai modi che uso tant''e 
vero che essendo che la discussione ha una piega off topic ho avuto cura di 
anteporre un bel OT all'oggetto del messaggio..
Quando si studia un argomento non si dovrebbe ascoltare a bocca aperta chi 
ne sa di piu' (non me ne voglia Alessandro Pellizzari) ma, dotati di un 
minimo di senso critico, sviluppare e proporre le proprie opinioni senza la 
paura di essere criticati e con l'umilta'  di chi e' disposto a ricredersi 
qualora le argomentazioni del proprio interlocutore siano fondate.
Trovo condivisibile l'ultimo intervento di Alessandro soprattutto riguardo 
al fatto che la diffusione non sia sinonimo di correttezza tuttavia mi trovo 
ancora titubante circa il considerare sbagliato un approccio scelto da 
coloro che sono consapevoli dei rischi a cui vanni incontro. Gli sprovveduti 
sbagliano i consapevoli, se volete, se la cercano.
Evidentemente il tono e' stato freinteso la prossima volta oltre ai 
condizionali, ai "secondo me" e ai "credo" anteporro' di fronte ad ogni 
parola "IMHO", "IMMA", "IMVHO" in modo che lo mie opinioni non siano 
scambiate per arroganti assolutismi...ammesso che le opinioni siano ancora 
accettate..in caso contrario diamo la parola solo agli "insegnanti" che gia' 
sanno tutto e che quindi non hanno piu' nulla da dire. ;-)
[quote]
Prima si ascolta, si impara, *poi* e ancora *forse* si insegna.
[/quote]
Doctum doces..

 peggio, l'intero contenuto del sito.
La cosa bella è che alcune regole css sono interpretate in modo errato e 
differente dai browser più diffusi (IE e Firefox).
I siti flash saranno errati, ma le applicazioni flash scritte ad es con Flex 
Builder sono le uniche che funzionano correttamente su tutti i browser e 
tutti i SO, oltre ad essere graficamente accattivanti.
Ciao 

 oltre ad essere graficamente accattivanti.
Mai detto il contrario. Ma Flash e` una virtual machine. Il browser gli 
da` un rettangolo sullo schermo, e flash ci fa quello che vuole.
Ma flash non e` standard, non e` aperto, e non e` presente dappertutto.
Per esempio non esiste il plugin per Linux a 64bit, o per diversi browser 
su palmari, o per Amiga, o per BSD. Inoltre non e` accessibile (i ciechi e 
gli ipovedenti se lo scordano).
Paradossalmente XUL e SVG sono piu` portabili, visto che esistono librerie 
opensource che possono essere ricomiplate ovunque, e darebbero gli stessi 
risultati, magari coadiuvati da ogg/vorbis per l'audio.
Non li userei mai in un sito, pur essendo quanto di piu` standard ci sia, 
perche` IE si e` accorto quest'anno che esiste PNG, figurarsi quando si 
accorgera` di SVG e di OGG... (un altro dei motivi per cui spero sempre 
che muoia... ;)
L'importante e` conoscere i limiti delle tecnologie che si usano, e 
cercare di rimanere il piu` possibile negli standard, "sforando" solo 
quando non ci sono alternative.
Bye.

 finalmente.
Vero, ultimamente il bello di IE7 č che ho usato immagini png con lo sfondo 
dello stesso colore di background e si nota una lieve differenza (l'immagine 
ha un bel quadrato di sfondo simile al background).
Firefox funziona benissimo.
La cosa che mi lascia perplesso non č che si assomigliano, ma che non 
capisco il senso della w3c che si inventa stili suoi che poi non vengono 
rispettati alla lettera nemmeno dai browser piů diffusi... ma mettersi 
d'accordo č brutto?
Ciao 

 tutti i SO, 
Se hai installato flash. Attualmente sul mio mac funziona solo su
safari, su firefox no, non so quale sia il problema ma per me non e' un
problema, anzi. Magari capita anche ad altri. E poi a 56K (in Italia per
molti è ancora una scelta obbligata) i siti in flash ci mettono troppo
per caricare. 
Ciao
Andrea
-- 
http://myretrocomputing.altervista.org

 d'accordo è brutto?
Non è che il W3C si inventi stili suoi, anche perché è composto proprio
da aziende del calibro di Adobe, Microsoft, e via dicendo.
La domanda che fai è sana, diciamo che il grosso problema del W3C è che
sono troppo accademici il più delle volte, e sono diventati troppo
burocratici.
Mancano di senso pratico, insomma.


 burocratici.
E` vero. Spesso sono lenti a recepire le esigenze degli utenti.
Ma se pensi che i CSS1 sono del 96, i CSS 2 del 98, e nessun browser li 
supporta ancora pienamente (dopo quasi 10 anni...), mi chiedo se abbia 
senso buttare fuori specifiche piu` velocemente.
I CSS 2.1 sono piu` recenti, e il supporto e` ancora minore.
I CSS3 hanno (in programma) delle buone caratteristiche (layout a colonne, 
background multipli sugli elementi, rotazione dei box, ecc.), mentre i 
browser supportano con estensioni proprietarie (x-mozilla-*) quelli meno 
utili (bordi arrotondati...) che magari tra 1-2 anni saranno passati di 
moda.
Se buttassero dentro tutto quello che capita, i motori di rendering, gia` 
oggi enormi, diventerebbero ingestibili.
Mi piacerebbe molto che i browser smettessero di farsi le pare per i siti 
scritti male (tag non nested, non chiusi, con attributi senza virgolette, 
ecc.) e venissero un po' alleggeriti, ma probabilmente il primo browser 
che facesse una cosa del genere perderebbe il 90% del suo mercato nel giro 
di una settimana.
E` un gatto che si mangia la coda: si cerca di implementare nuove 
funzionalita`, di alleggerire il motore, ma si mantiene la compatibilita`, 
cercando di aggirare i bug (propri e dei siti). Onestamente non vedo vie 
d'uscita a breve termine, se non bruciare la Microsoft con tutti i suoi 
dirigenti e programmatori, e forzare Mozilla, Opera e Apple/KDE a dare una 
svolta al web.
Sono un po' drastico? :)
Bye.