Generazione dinamica di HTML e CSS [chiuso]

6

Trovo che scrivere CSS a mano sia estremamente noioso.

Trovarsi in un concetto come fluido , mi fa venir voglia di scrivere tutti i miei siti web in modo che il CSS si ridimensiona in modo carino e ha lo stesso aspetto in diversi browser.

La mia domanda è: Il mio design può essere generato a livello di codice?

per esempio:.

#include <css>
#include <html>
#include <vector>
#include <string>

int main(void) {
    HTML::HTML page;
    page.title("my title");
    page.heading.font(15);
    std::vector<std::string> para = <vector of paragraphs>;

    CSS::CSS layout;
    layout.grid(2,2);
    layout.fill(xcoords_as_percentage, ycoords_as_percentage);

    page.use_css(layout);
    for(int i=0; i<para.size() && y!=grid.y.size()+1; i++, x++) {
        if(x==grid.x.size()) x=0, y++;
        page.grid[x][y]=para[i];
    }
    page.header1("I am header1");
    page.footer("I am page footer");
    layout.order(page.header1[0], page.grid.all(), page.footer());

    generate_html("index.html");
    generate_css("layout.css");
}

Questo mi consentirà di concentrarmi sui contenuti effettivi, allontanandomi da "Oh, IE7 non supporta questa opzione, quindi fai questo hack ..."

FYI: Sto codificando il sito reale in Django (Python), quindi il generatore HTML / CSS non deve essere in C ++. Sono a conoscenza del lavoro svolto in questa direzione nel framework C ++ Wt

    
posta A T 16.12.2011 - 11:52
fonte

2 risposte

5

Questa domanda è più corretta su Stack Overflow, ma ... sembra che tu voglia usare un linguaggio / framework CSS programmatico, come SASS o Stylus:

link

link

In particolare, le variabili, le funzioni e i mixin sono molto utili in queste lingue.

    
risposta data 16.12.2011 - 12:15
fonte
2

Aggiunta alla risposta di Magnus Wolffelt , dovresti dare un'occhiata a LESS :

LESS extends CSS with dynamic behavior such as variables, mixins, operations and functions. LESS runs on both the client-side (IE 6+, Webkit, Firefox) and server-side, with Node.js.

Preferisco la sua sintassi su quella di Sass, ma è una questione di opinione. Django Compressor funziona bene con LESS con l'ulteriore vantaggio di produrre script minificati:

Django Compressor combines and compresses linked and inline Javascript or CSS in a Django templates into cacheable static files by using the compress template tag.

C'è anche un utile filtro Apache che provides on demand conversion of CSS LESS files to CSS using CSS::LESSp under mod_perl2. , se vuoi davvero andarci . Dovrebbe fornire linguaggio e amp; l'uso agnostico del framework di LESS, ma ho solo giocato con esso per alcuni minuti, sto usando una soluzione PHP simile a Django Compressor e non ne ho mai avuto molto bisogno.

    
risposta data 16.12.2011 - 19:26
fonte

Leggi altre domande sui tag