Precedente :: Successivo |
Autore |
Messaggio |
horus Macchinista


Registrato: 22/03/05 10:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 22 Ago 2006 09:01 Oggetto: * Css ed oggetti input |
|
|
Dunque, sto smanettando con un CMS e sto cercando di creare un foglio di stile che copi un sito che ho già.
Il problema mi si è posto quando ho cominciato ad inserire moduli (del CMS) che contengono dei form. Nel sito originale (fatto a manina) ho sempre assegnato una classe ai pulsanti per poterli modificare a piacimento via css, in questo caso però non avendo fatto io i moduli la classe non c'è. Potrei inserirla modificando i sorgenti dei moduli ma diventerebbe poi complicato fare gli aggiornamenti mentre vorrei poter sovrascrivere i file senza pensarci tanto e demandare ad altra parte la questione grafica.
La soluzione facile sarebbe usare gli attribute selector ma ovviamente con IE non funzionano, potrei mettere un js che tramite getElementByTagName ma non vorrei legarmi ad uno script, potrei chiedere di utilizzare il tag button al posto di input così da poterli distinguere dalle caselle di testo ma non so se altri avranno voglia di cambiare il loro codice per fare un favore a me.
In pratica attualmente sono ad un punto morto e devo scegliere una via, qualcuno di voi (reeeb ) si è mai cimentato in cose simili? Avete qualche suggerimento? |
|
Top |
|
 |
rebelia Dio maturo


Registrato: 17/07/03 09:22 Messaggi: 7987
|
Inviato: 22 Ago 2006 14:00 Oggetto: |
|
|
non sono sicura di aver capito tutto, ad ogni modo puoi agganciare gli elementi in questo modo:
html:
Codice: |
<div id="pippo">
<ul>
<li><a href="#">bla bla</a><li>
<li><a href="#">bla <span>bla</span></a><li>
</ul>
</div>
|
css:
Codice: |
#pippo ul li a {color: red;}
#pippo ul li a span {color: green;}
|
oppure se hai modo di modificare il codice del cms, fai in modo che ogni elemento [che ti interessa poter formattare] abbia un id e/o una classe che potrai usare o meno
html:
Codice: |
<div id="pippo">
<ul id="menu">
<li id="pulsante_uno"><a href="#">bla bla</a><li>
<li id="pulsante_due"><a href="#">bla <span>bla</span></a><li>
</ul>
</div>
|
l'ideale per chi deve poi gestire il css e' avere a disposizione tutte e due le possibilita' che e' quel che abbiamo fatto con tas al cms che abbiamo messo in piedi (o meglio: io ordino e lui provvede )
se puoi modificare il cms ti consiglio vivamente il secondo sistema che ti da piu' liberta', se non puoi vedi se riesci a raggiungere le parti che ti interessano col primo; eventualmente posta il codice/il link che do un'occhiata  |
|
Top |
|
 |
horus Macchinista


Registrato: 22/03/05 10:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 22 Ago 2006 14:26 Oggetto: |
|
|
Scusa, faccio un po' di chiarezza.
Sto usando uno o più moduli di un cms che mi restituiscono del codice (che non vorrei modificare) del tipo:
Codice: | <form>
<input type="text" id="abc456" />
<input type="text" id="def789" />
<input type="submit" value="invia" />
</form> |
Ovviamente ho semplificato, rimane comunque il fatto che non ci sono classi e gli id non sono sufficientemente generali (ogni modulo ha i suoi).
Quando inserisco il form nelle pagine per me è come se fosse una scatola chiusa tipo:
Codice: | <div class="mioform">{form_login}</div> |
e poi è il motore che sta sotto che si occupa di sostituire la parte tra le graffe con il codice generato dal modulo.
A questo punto, come giustamente hai detto, potrei accedere ai miei oggetti usando la gerarchia
Codice: | div.mioform form {
/* quello che voglio */
}
div.mioform form input {
/* quello che voglio */
} |
Ma proprio qui sta il problema in quanto sia le textbox che i pulsanti sono input e quindi non posso differenziarli. In un mondo ideale farei
Codice: | div.mioform form {
/* quello che voglio */
}
div.mioform form input {
/* formattazione textbox */
}
div.mioform form input[type=submit] {
/* formattazione pulsanti */
} |
Come detto prima però IE se ne frega.
rebelia ha scritto: | se puoi modificare il cms |
Non è che non posso modificarlo ma mi perderei il bello di usare un cms e cioè che ti devi occupare solo dei contenuti mentre il motore lo prendi già fatto. Se si trattasse di una tantum andrebbe anche bene ma immagino già quando dovrò installare degli aggiornamenti (magari di sicurezza) e dovrò fare il gioco delle differenze per tutti i file che ho toccato per sapere quali sono le cose che ho modificato io e quali invece riguardano l'aggiornamento e poi (a mano) unire i file.
Se decidessi di modificare il codice mi basterebbe cambiare i moduli in modo che diventi:
Codice: | <form>
<input type="text" id="abc456" />
<input type="text" id="def789" />
<button name="submit" value="submit" type="submit">Invia</button>
</form> |
e poi formatterei con:
Codice: | div.mioform form {
/* quello che voglio */
}
div.mioform form input {
/* formattazione textbox */
}
div.mioform form button {
/* formattazione pulsanti */
} |
Ma se possibile vorrei evitarlo. |
|
Top |
|
 |
rebelia Dio maturo


Registrato: 17/07/03 09:22 Messaggi: 7987
|
Inviato: 22 Ago 2006 14:48 Oggetto: |
|
|
horus ha scritto: |
Non è che non posso modificarlo ma mi perderei il bello di usare un cms e cioè che ti devi occupare solo dei contenuti mentre il motore lo prendi già fatto. Se si trattasse di una tantum andrebbe anche bene ma immagino già quando dovrò installare degli aggiornamenti (magari di sicurezza) e dovrò fare il gioco delle differenze per tutti i file che ho toccato per sapere quali sono le cose che ho modificato io e quali invece riguardano l'aggiornamento e poi (a mano) unire i file. |
mh... e' il problema dei cms creati da altri in effetti, lo so
non avevo capito se si trattava di un cms tuo - che appunto avresti modificato in via definitiva - oppure se era un cms esterno... purtroppo non posso proprio aiutarti, temo
so che alcuni cms prevedono una specie di wish list dove postare eventuali richieste di modifica, ma non avendo il problema visto che appunto adopero un cms sviluppato in proprio, non so esattamente come funziona: quale cms usi? hai dato un'occhiata al sito del produttore se c'e' un forum o cmq modo di fare richieste di questo tipo?
voglio dire: la tua non e' un'esigenza fuori dal mondo, anzi! e' uno dei problemi piu' diffusi, mi sa e tra l'altro di piu' facile soluzione
se ti va bene scopri che risolveranno il problema con la prossima release  |
|
Top |
|
 |
horus Macchinista


Registrato: 22/03/05 10:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 22 Ago 2006 15:05 Oggetto: |
|
|
rebelia ha scritto: | hai dato un'occhiata al sito del produttore se c'e' un forum o cmq modo di fare richieste di questo tipo? |
Sì, c'è ed ho già chiesto , nel frattempo ho provato a chiedere anche qui se qualcuno aveva qualche idea alternativa.
Ultimamente sto testando alcuni CMS meno noti alla ricerca di uno che mi piaccia veramente per i miei prossimi siti. Questo (CMS Made Simple) è solo agli inizi (la 1.0 è ancora in beta) ma mi piace perché è valido XHTML e perché in roadmap hanno cose del tipo: Citazione: | General accessibility work, to approach the WAI ATAG guidelines. |
|
|
Top |
|
 |
rebelia Dio maturo


Registrato: 17/07/03 09:22 Messaggi: 7987
|
Inviato: 22 Ago 2006 15:22 Oggetto: |
|
|
ho visto lavorare anche fck, ma sono inorridita e l'ho richiuso di corsa al primo tag <font> che ho visto comparire  |
|
Top |
|
 |
horus Macchinista


Registrato: 22/03/05 10:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 22 Ago 2006 15:24 Oggetto: |
|
|
Eheh, non saprei dirti come funziona, c'era anche in questo CMS ma è la prima cosa che ho disinstallato. |
|
Top |
|
 |
horus Macchinista


Registrato: 22/03/05 10:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 23 Ago 2006 09:45 Oggetto: |
|
|
Torno sui miei passi, dopo una breve indagine ho scoperto che l'elemento button è supportato da HTML 4 in poi, secondo le regole di accessibilità quindi per garantire la funzionalità anche con i browser più datati è meglio usare l'elemento input con type="submit". Peccato  |
|
Top |
|
 |
|