Newsgroup: it.comp.lang.javascript
Titolo: Help CSS

Salve,
Per un sito che sto preparando ho messo i codici per gli stili in un file
esterno che poi vado a richiamare nelle pagine html. Questi riguardano
praticamente il colore dei link (es. rosso) sottolineatura, ecc.
Però se io volessi che in una pagina oltre ai link con le caratteristiche
fornite dagli stili, ce ne fosse
anche uno con caratteristiche sue (es. colore blu) lo posso fare ?
Grazie in anticipo.
Umberto Neri
d...@def.it
www.def.it

anche uno con caratteristiche sue (es. colore blu) lo posso fare ?
Usi lo stile in linea: es se vuoi un link nero
<a style="color: black" href="link.htm">link</a> 
Lupin 
hpage: 
http://i.am/eugenio
 ---> 
www.agonet.it/~eugenio.t
   visitala!!!
Rimuovere XXX per rispondere via email


GRAZIE !
Umberto Neri
d...@def.it
www.def.it




 anche uno con caratteristiche sue (es. colore blu) lo posso fare ?
Certo, JS prima di tutto controlla se ci sono degli stili per il tag,
poi controlla se ci sono degli stili inclusi nella pagina e solo alla
fine aggancia gli stili di un eventuale foglio esterno. Se tu vuoi
cambiare qualcosa non fai altro che modificare le caratteristiche in uno
dei tre livelli detti ed il risultato è ottenuto.
-- 
        _
       //\
 Bye, //--\ndrea
(
http://www.geocities.com/SiliconValley/Peaks/9739
)

...
Certo, JS prima di tutto controlla se ci sono degli stili per il tag,
poi controlla se ci sono degli stili inclusi nella pagina e solo alla
fine aggancia gli stili di un eventuale foglio esterno. Se tu vuoi
cambiare qualcosa non fai altro che modificare le caratteristiche in uno
dei tre livelli detti ed il risultato è ottenuto.
Ho deciso di fare l'antipatico rompicoglioni, per cui innanzi tutto dico: in
realtà il JS non c'entra proprio nulla, è una questione di CSS puro e
semplice, che come tutti sappiamo fa parte dello HTML versione 4.
Precisazione "filosofica"...più che una questione di successione cronologica
è una questione di prevalenza, secondo il criterio che ciò che è più vicino
all'elemento prevale sugli altri...quindi giustamente lo style direttamente
dentro il tag è quello che prevale su tutto.
Nel merito, a me sinceramente non piace proprio inserire dello style
"inline", mi sembra che rovini tutta la famosa separazione
contenuto-presentazione...il mio suggerimento è quello di creare del file
generale *.css anche delle classi che creano look particolari in modo da
poter poi differenziare.
Ad esempio dichiarando:
.nero { color : black }
qualunque elemento di default segue la sua dichiarazione CSS, ma se nel tag
ci aggiugiamo CLASS="nero", allora prevale la dichiarazione di classe. In
questo modo possiamo in casi particolari alterare il look abituale di
qualche elemento avendo un solo file di CSS. Occhio perché <A> è un caso un
po' particolare. Se lo usi così non ci sono problemi, ma se usi in CSS
pseudo-elementi come A:link o A:visited le cose si complicano...
maghetto

pseudo-elementi come A:link o A:visited le cose si complicano...
Come si potrebbe risolvere?
ciao
gelty
--
Visita 
http://www.sifor.it
Elimina *toglimi* per le risposte

 contenuto-presentazione...il mio suggerimento è quello di creare del file
[...]
E su questo permettimi di non essere d'accordo. I concetti di "buona
programmazione" possono darti ragione, ma credo che con il buon senso si
possa fare qualche strappo alla regola, soprattutto se si tratta di casi
particolari e che non vengono mai duplicati.
Ad ogni modo qui credo si parli più di filosofia che di JavaScript e
quindi mi fermo qui.


gelty
Scusa se rispondo tardi, ma ieri ero a sciare... :-))
La cosa più immediata che mi viene in mente è quella di creare una specie di
classe alquanto generica, attraverso un selettore "customizzato".
Ad esempio creiamo nel foglio di stile
#rosso { color : red }
A questo punto se abbiamo un link del tipo
<A HREF="page.htm" ID="rosso">Testo</A>
la scritta "testo" risulterà effettivamente in rosso, anche se nel foglio di
stile abbiamo messo come istruzione generale
A:link { color : black }
In altre parole, mentre la dichiarazione dello pseudoelemento prevale sulla
sua classe di appartenza, soccombe di fronte ad una ID specifica dello
stesso.
Altre idee?
maghetto

...
Ad ogni modo qui credo si parli più di filosofia che di JavaScript e
quindi mi fermo qui.
Vabbè, ma l'uso delle CLASSI non è così filosofico...allora che te pare come
soluzione?
maghetto

...
Mago Merlano wrote:
E su questo permettimi di non essere d'accordo. I concetti di "buona
programmazione" possono darti ragione, ma credo che con il buon senso si
possa fare qualche strappo alla regola, soprattutto se si tratta di casi
particolari e che non vengono mai duplicati.
D'accordo, ma come dice la Algida, la vita è fatta di priorità. Secondo me
vale la pena "sbattersi" un pochino e cercare la soluzione per infilare
tutto dentro un CSS, perché poi lo sbattimento ti viene ripagato in termini
di pulizia, velocità di aggiornamento, flessibilità del foglio di stile,
riutilizzabilità. Con le classi, se volessimo cambiare colore ci sarebbe da
scriverlo una volta sola...mettendolo invece inline su ogni elemento...beh,
potresti anche starci una giornata, dipende da quanti elementi sono
interessati!
Come vedi non è solo una questione "filosofica" (ma io preferisco dire di
"pulizia mentale"), ma ci sono delle ricadute pratiche molto consistenti.
Acc...devo correggermi e scusarmi per la mia prima risposta...non avevo
fatto caso al fatto che tu non eri interessato al merito del subject, ma ti
eri soltanto inserito.
-maghetto

 eri soltanto inserito.
Quando ti riferivi ad un mio parere sull'uso delle classi???
Ad ogni modo ti rispondo, sono d'accordissimo sull'uso (senno cosa le
hanno messe a fare???), ma sempre rientrando nel concetto che ti ho
appena espresso: in-line se caratteristiche ad una sola pagina, in CSS
se comuni ad almeno un'latra pagina...


Pensa ad un caso in cui ogni pagina ha alcune caratteristiche comuni ed
alcune proprie e "solo sue", includere tutto in un foglio di stile
significa far girare dei CSS enormi senza motivo (magari solo il 50%
degli stili sono comuni a tutti), prevedendo invece uno stile in-line
carico gli stili che mi servono e nulla più. Certamente il discorso non
vale più se ci sono almeno due pagine con lo stesso stile, qui ha senso
mettere tutto in un CSS per motivi di praticità nella modifica.
Beh, si potrebbe fare uno stile "generale" abbastanza striminzito, esterno
alle singole pagine, richiamato col solito <LINK rel="stylesheet"> eppoi
fare anche in ogni singola pagina un <STYLE> aggiuntivo con gli elementi
peculiari di quella singola pagina..in questo modo ogni dichiarazione CSS
verrebbe caricata solo dalla pagina dove serve, ma allo stesso tempo le
informazioni "vere" starebbero nel BODY e le meta-informazioni nella HEAD,
come è giusto che sia.
Ciao!
maghetto
PS: Domanda da frequentatore recente, quale sono: ma queste discussioni
vanno bene o il NG funziona solo con lo schema "Ho questo problema, chi mi
aiuta.." ?

 aiuta.." ?
Personalmente credo che il NG ne tragga vantaggio da questo tipo di
discussioni, o perlomeno io apprezzerei un discorso portato a termine in
cui i due "contendenti" trovino una soluzione comune.


aiuta.." ?
Beh, penso che queste discussioni facciano piu' che bene a chi cerca di
risolvere veramente i problemi, se poi qualcuno vuole la pappa gia pronta
posta i messaggi del tipo che hai detto tu (della serie "Insegna a pescare,
non regalare pesci" :-)) ).


Si potrebbe, sarebbe forse la soluzione più pulita. Ma cosa c'è di
diverso da quanto ho detto io???
C'è che tu voi mettere un attributo style dentro il tag di un elemento
contenuto del body, mentre io voglio tenere TUTTO lo stile fuori dal body,
facendo un file *.css separato per le caratteristiche generali e un tag
<STYLE>...</STYLE> dentro la <HEAD> di ogni singola pagina per le eventuali
caratteristiche peculiari della pagina stessa. All'atto pratico, in effetti
non cambia nulla, si è già detto, è una questione di principio, appunto
secondo i "sacri principi" tutte le meta-informazioni (cioè le informazioni
SULLE informazioni che il sito deve comunicare), comprese quindi le
istruzioni su COME le informazioni stesse devono apparire (lo STYLE,
appunto) non vanno confuse col contenuto: è come se tu quando scrivi una
lettera anziche sottolineare una frase, mettessi una nota a fianco della
frase che dicesse "La frase precedente è da considerare sottolineata." :-)
maghetto