Ieri mi è arrivata questa email da un lettore di Edit. La riporto integralmente omettendo solo i dati sensibili.
Gentile Gabriele, sono un lettore di Edit (HTML.it), mi chiamo G. L., sono di P. e come te, da anni mi occupo di web e programmazione, principalmente di HTML, CSS, Javascript e PHP
La mia necessità di contattarti nasce dalla convinzione che far sentire la propria voce riguardo innovazioni e proposte è tristemente difficile.
Arrivo subito al dunque... Tempo fa proposi via mail al Working Group di CSS3 di rendere "multiple" ogni regola dei CSS. Mentre si sviluppa un file HTML ci si rende conto che la maggior parte degli elementi sono utilizzati per questioni prettamente grafiche, ad esempio quando si ha la necessità di inserire background multipli:
<div> <div> <div> <h1></h1> </div> </div> </div>Non si tratta di bad routine ma di un'evidente limitazione dei CSS2. Infatti, a questa situazione si è ovviato con l'introduzione del "multiple background module" dei CSS3.
background-image:url(),url(),url(),url(); <h1></h1>e questo funzionamento lo ritroviamo anche nella nuova feature text-shadow:
text-shadow:0 0 5px red, 0 0 5px black, 0 0 5px white;La mia idea riguarda la possibilità di estendere i "valori multipli separati da virgola" anche agli altri attributi dei CSS:
#button3d { border: 2px black solid, 2px darkred solid, 2px red solid; background:pink; } <button>ciao</button>condizione attualmente riproducibile solo utilizzando 3 div annidati.
E la stessa logica dovrebbe essere applicata su padding, margin, width, height etc. Sarai d'accordo che sintetizzare "zuppe di tag :)" in singoli elementi semanticamente corretti, sarebbe una manna per ogni impaginatore, senza contare che spostare nei CSS quello che resta della grafica dell'HTML alleggerirebbe notevolmente connessioni e costi di banda, la manutenzione, etc.
Ritornando al w3, mi sono reso conto che sono piuttosto lenti già per conto loro e le proposte nuove non le vedono bene al contrario lo sviluppo dei nuovi browser è molto veloce, e Mozilla, WebKit e Opera, vedono molto bene le nuove proposte (probabilmente WebKit in primis).
Perà, se si conoscono i gruppi di supporto, di richieste e segnalazione di bug, si sa anche che basta poco per essere totalmente ignorati
(a meno che tu non sia estremamente martellante). Quindi questa mail si sintetizza in una domanda di aiuto per scrivere insieme la richiesta di questa feature ai 3 browser sarebbe ottimo coinvolgere anche i lettori di Edit, per sperare di avere più successo nella richiesta.Spero di non sembrarti arrogante, ma dopo tanti anni qualcosina credo di averla capita... questa mi sembra una buona idea e spero che tu ne convenga. Se lo ritieni opportuno, sentiti libero di pubblicare questa mail su Edit.
P.S: Il WG dei CSS ha proposto lo pseudo-element ::outside per ovviare a queste limitazioni:
#button3d { border:2px red solid;background:pink;} #button3d::outside { border:2px darkred solid;} #button3d::outside::outside { border:2px black solid;}Ma io lo ritengo assolutamente non in linea con la logica funzionamento dei CSS... non è compatibile con i "cascading" style sheets, senza contare che è inutilmente macchinoso da scrivere.
Ti ringrazio in anticipo e comunque indipendentemente da cosa tu voglia fare, mi rendo conto che probabilmente si andrà a proporre una cosa che non vedremo per anni; ma prima la si propone e prima ci sarà il cambiamento, e al diavolo i browser che non stanno al passo... Il cloud computing diventerà una realtà , e l'unica cosa che dovranno fare gli utenti, piuttosto che comprare software desktop da migliaia di euro, è scaricarsi un browser decente, e se non sono troppo fessi, lo faranno :D
Penso che la proposta sia molto valida. Non appena Bert Bos mi confermerà l'iter per diventare Invited Expert del CSS Working Group la sosterrà senz'altro. Qualcuno vuole aiutarci in questa impresa? Aspetto risposte!