Perché il CSS non supporta in modo nativo variabili e gerarchia?

11

Sono nuovo nello sviluppo dell'interfaccia utente, ma mi sento molto a disagio con il modo in cui i CSS funzionano.

Il mio caso d'uso è che volevo applicare alcuni stili specifici all'interno di un particolare div su una pagina.

Tentativo CSS:

div.class1 {
    font: normal 12px arial, helvetica, sans-serif;
    font-color: #f30;
}
div.class1 div.class2 {
    border: 1px solid #f30;
}

tentativo LESS:

@red: #f30;
@font-family: arial, helvetica, sans-serif;
div.class1 {
    font: normal 12px @font-family;
    font-color: @red;
    div.class2 {
        border: 1px solid @red;
    }

La versione CSS può indurre bug, dal momento che ti costringe a ripetere #f30 & div.class2 ogni volta che provi a raggiungere la gerarchia e il riutilizzo delle variabili.

Le mie domande:

  • Perché il CSS rende le cose difficili?
  • LESS non fa nulla di speciale - apporta miglioramenti evidenti e si traduce in CSS?
  • Che cos'è che il CSS vuole motivare negli utenti a causa del quale promuove uno stile di codifica ridondante?

Credo fermamente che i CSS dovrebbero essere ciò che MENO è. Sicuramente sto trascurando alcuni ovvi vantaggi del perché le cose siano fatte in questo modo nei CSS. Ho pensato che fosse un problema ereditario, ma sono rimasto sorpreso quando non ho visto alcun tentativo di risolvere questo problema con i CSS3.

Per favore aiutami a capire come dovrei avvicinarmi ai CSS?

    
posta Yugal Jindle 28.01.2013 - 11:19
fonte

1 risposta

15

I CSS non stanno cercando di rendere le cose più difficili di proposito, sono state progettate pensando a un obiettivo molto più semplice, le variabili e le gerarchie non sono certo le uniche lacune. MENO e Sass esistono specificamente per affrontare queste carenze, e fino a quando entrambe le funzionalità sono supportate in modo nativo, dovresti rispettarle.

Detto questo, il gruppo di lavoro CSS del W3C sta lavorando a bozze sia per le variabili CSS sia per le gerarchie CSS:

Non c'è assolutamente modo di sapere quando una bozza sarà pronta per l'implementazione o quanto presto i principali browser le adotteranno. Tutto quello che posso dire è che la bozza delle variabili CSS è più vicina all'adozione, è già possibile testare le variabili CSS delle unità in Chrome, Safari e Firefox, ma tieni presente che il supporto in tutti e tre i browser è considerato sperimentale e soggetto a modifiche. Leggi Uso delle variabili CSS su MDN per ulteriori dettagli.

    
risposta data 28.01.2013 - 11:31
fonte

Leggi altre domande sui tag