Visualizzazione risultati 1 fino 27 di 27

Discussione: riquadri con css..ancora problemi

  1. #1
    Guest

    Predefinito

    ho notato che ci sono ancora dei problemi per la creazione di riquadri con i css.
    Riassunto delle puntate precedenti: grazie al grande contributo di gve siamo arrivati ad accentrare il riquadro e fare in modo che i riquadri secondari non uscissero dai bordi del riquadro principale usando browser come netscape.
    Come prova avevo usato un esempio di questo tipo (che mi risolveva i problemi suddetti):

    .body{text-align:center;}
    .box_area{width:760px;border:1px solid #CC0000;padding:0;margin:auto;overflow:auto;}
    .box_area_sx {width:150px;float:left; background-color:#FFCCCC;padding:0;margin:0;}
    .box_area_dx {width:150px;float:left; background-color:#FFCCCC;padding:0;margin:0;}
    .box_area_x{width:458px;float:left;background-color:#FFFFFF;padding:0;margin:auto;overflow:auto; }


    <body class="body">
    <div class="box_area">
    <div class="box_area_sx">&amp;nbsp;</div>
    <div class="box_area_x">&amp;nbsp;</div>
    <div class="box_area_dx">&amp;nbsp;</div>
    </div>
    </body>

    ora ... altri problemi che ho notato:

    1) netscape nella definizione della larghezza dei riquadri non tiene conto dei bordi, come fanno invece gli altri browser. Quindi il riquadro di 458px dovrebbe diventare 460px per netscape (altrimenti in fondo a destra rimane uno spazietto in più di giusto 2px, cioè i bordi).
    Se visualizzate la pagina http://www.richialbum.altervista.org/prova/prob1.htm con netscape lo notate.
    Ho provato a non mettere il width o a mettere 100% invece della larghezza giusta ma si incasina tutto. Secondo voi come si risolve questo?


    2) sempre con netscape ho problemi nel modificare i valori dei padding dei vari box.

    a) prima di tutto il padding me lo fa solo sopra e lateralmente, mentre gli altri browser lo fanno anche sul lato inferiore.
    Ad esempio modificando così il box esterno:
    .box_area{width:760px;border:1px solid #CC0000;padding:5;margin:auto;overflow:auto;}
    l'effetto visualizzato con netscape è questo http://www.richialbum.altervista.org/prova/prob2a.htm

    b) se modifico i padding di quelli interni noto che netscape propone un problema opposto a quello dei bordi. Per cui (mentre per i bordi nei 760px con compresi anche i 1+1px dei bordi laterali) nei 150px dei box interni non sono compresi i padding. Quindi se voglio fissare un padding di 5px ad un box interno devo scrivere:

    .box_area_sx {width:140px;float:left; background-color:#FFCCCC;padding:5;margin:0;}

    e se tenessi il 150px per farlo visualizzare bene da ie ed opera (che altrimenti vedono il box troppo corto), netscape si incasina e va oltre la lunghezza del box esterno quindi visualizza tutto incasinato con una barra di scorrimento, come potete notare su questa pagina: http://www.richialbum.altervista.org/prova/prob2b.htm


    questo cavolo di netscape rompe parecchio ... come faccio con questi tre problemi? avete delle idee?
    grazie

  2. #2
    Guest

    Predefinito

    Purtroppo il problema del box model e' un problema spinosissimo.

    Margin e' la proprieta' che imposta il margine esterno, mentre padding quello interno.

    IE sbaglia a leggere il css e somma i valori di margin e padding e li mette (se non ricordo male) tutti all'interno.

    Il nocciolo della questione e' che nessun browser e' seriamente 100% compliant con css 2.0 , IE men che meno.
    Fino a IE 5.5 si poteva ovviare questo problema usando un piccolo hack: si era scoperto infatti che IE smetteva di leggere le proprieta' di un elemento se trovava: "voice-family: "\"}\"";". Questo permetteva di settare prima le prorieta' di IE e poi di annullarle con quelle per gli altri borwser, tipo:

    [code:1:dd8fe368b8]
    div.content &#123;
    width&#58;400px;
    voice-family&#58; &quot;\&quot;&#125;\&quot;&quot;;
    voice-family&#58;inherit;
    width&#58;300px;
    &#125;
    [/code:1:dd8fe368b8]

    Purtroppo con IE 6.0 questo bug e' stato corretto, ma intenzionalmente non e' stata corretta la gestione del box model, visto che M$ vuole che il web diventi una cosa SCRITTA PER il loro IE.

    Di fatto non esiste soluzione unica.

    CSS 3.0 sta lavorando anche a questo, ma.... spetta sempre alle ditte implementare delle soluzioni adeguate.

    Il mio consiglio e' di provare a dare delle dimensioni in % e non in px, io ho risolto cosi' con un paio di box e funzionano quasi ovunque.

    Se mi viene in mente altro ti faccio sapere


    Per il box model hack vedi qui:
    http://www.tantek.com/CSS/Examples/boxmodelhack.html

  3. #3
    Guest

    Predefinito

    ok ... intanto grazie per questa prima risposta. Se non ci fosse un modo per settare un file css unico, io avrei pensato ad uno script che rimanda ad un file diverso per netscape ... ma io non sono in grado di farmelo da solo. Magari provo a cercare un po' in giro ... 8)

  4. #4
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Citazione Originalmente inviato da richialbum
    [...] io avrei pensato ad uno script che rimanda ad un file diverso per netscape ... ma io non sono in grado di farmelo da solo. [...]
    richi conosci un po' il php?

    Io ho provato di recente (e ho visto che funge) a creare un css in php.

    Quello che devi fare è dare estensione .php al file css, che sarà quindi linkato così:
    &lt;link rel="stylesheet" type="text/css" href="style.php" /&gt;

    La cosa funge, e col php puoi individuare il browser dell'utente usando la funzione get_browser() (non so dirti come farlo al meglio, io lo avevo provato per altri scopi, ma in un'altro post so che poco fa ne stavano parlando del riconoscimento del browser).
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  5. #5
    Guest

    Predefinito

    buona la soluzione delle % ... infatti in alcuni casi ero già ricorso a quel metodo, ma ci sono box per i quali preferisco definire il width in px e per questo mi sto sbattendo con sto problema di netscape.

    Comunque ...
    ... una possibile soluzione che ho trovato sulla rete è quella di usare un box per le dimensioni ed un box_content in cui settare bordi e padding per ovviare al problema del diverso comportamento di alcuni browser.

    .body{text-align:center;}
    .box_area{width:760px;padding:0;margin:auto;overfl ow:auto;background-color:#000000;}
    .box_area_sx{width:150px;float:left;}
    .box_area_dx{width:150px;float:left;}
    .box_area_x{width:460px;float:left;}
    .content_area_sx{background-color:#FFCCCC;padding:5;margin:0;border:1px solid #CC0000;border-right:none;}
    .content_area_x{background-color:#FFFFFF;padding:5 0;margin:0;border:1px solid #CC0000;border-left:none;border-right:none;}
    .content_area_dx{background-color:#FFCCCC;padding:5;margin:0;border:1px solid #CC0000;border-left:none;}

    ... il background-color:#000000 nel box_area l'ho messo apposta per vedere bene se netscape crea ancora casini.

    &lt;body class="body"&gt;
    &lt;div class="box_area"&gt;
    &lt;div class="box_area_sx"&gt;&lt;div class="content_area_sx"&gt;sinistra&lt;/div&gt;&lt;/div&gt;
    &lt;div class="box_area_x"&gt;&lt;div class="content_area_x"&gt;centro&lt;/div&gt;&lt;/div&gt;
    &lt;div class="box_area_dx"&gt;&lt;div class="content_area_dx"&gt;destra&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;
    &lt;/body&gt;


    chiaramente il codice html si allunga un pelo perchè si aggiunge un sotto-box, ma è un prezzo che sono disposto a pagare pur di avere qualcosa di compatibile per tutti i browser.
    Secondo voi com'è come soluzione? buona o incasino troppo la pagina? oppure ditemi se ci vedete qualcosa che potrebbe causare problemi ...
    Sono pronto a sentire anche soluzioni alternative ... Questa è l'unica che ho trovato per avere un lavoro che poi è visualizzato uguale da tutti i browser. Mentre, ricorrendo alle % delle volte ci possono essere delle piccole differenze (minime ma ci sono).

    per gve ... al php non avevo pensato ... buona idea, ma per ora vorrei creare qualcosa di universale con i css ... se proprio non riesco uso il get_browser() di php per definire stili diversi
    comunque tu cosa ne pensi della soluzione che spiego poco sopra?

  6. #6
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Funziona? Allora è buona, anche se il livello di incasinamento cresce; credo che evitare il php per queste cose sia più sicuro al fine dei risultati finali: il contenuto dell'identificativo dei browser è non standardizzato, e se la cosa non è fatta bene potrebbe creare problemi, quindi sono d'accordo con te sul fatto che se si può evitare è meglio.

    Come dicevo, io lo ho provato per un'altra finalità: rendere personalizzabili dall'utente certi aspetti del layout della pagina, tipo dimensione caratteri o altro.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  7. #7
    Guest

    Predefinito

    per avere il tipo di browser la cosa più semplice da farsi era utilizzare la funzione di riconoscimento della stringa e non getbrowser, per esempio usare:

    [code]
    $agent = getenv("HTTP_USER_AGENT");

    if (preg_match("/Win/i", $agent)) {

    if (preg_match("/MSIE/i", $agent)) {

    print ("&lt;link rel='stylesheet' type='text/css' href='indexIE.css' media='screen' /&gt;\n");

    } else print '&lt;link rel="stylesheet" type="text/css" href="indexMOZ.css" media="screen" /&gt;' . "\n";

    } else if (preg_match("/Linux/i", $agent)) {

    print '&lt;link rel="stylesheet" type="text/css" href="indexMOZ.css" media="screen" /&gt;' . "\n";

    } else if (preg_match("/Mac/i", $agent)) {

    if (preg_match("/MSIE/i", $agent)) {

    print ("&lt;link rel='stylesheet' type='text/css' href='indexIE.css' media='screen' /&gt;\n");

    } else print '&lt;link rel="stylesheet" type="text/css" href="indexMOZ.css" media="screen" /&gt;' . "\n";

    }
    ?&gt;
    La quale oltre che a verificare il tipo di browser identifica anche il sistema operativo.

    La cosa che però non capisco è il tuo modo di usare le classi, per esempio perchè utilizzare una classe per elementi unici, per esempio la classe per l'elemento body è inutile, perchè body è unico nella pagina quindi non ha bisogno di una classe.
    Ma non solo, non dimenticare che di sole classi si vive, esistono anche gli identificatori, in pratica un box dovrebbe essere identificato da un ID univoco e dentro vi possono essere delle classi.
    Se crei solo classi, il motore di rendering del browser penserà che tutte facciano parte dello stesso identificatore (in questo caso l'elemento padre ovvero la finestra &lt;body&gt; per capirci) e tratta tutti gli elementi come discendenti da questa, tu oltre tutto hai definito anche body come classe, così il motore deve prendere come elemento padre &lt;html&gt;, la cosa migliore sarebbe stata prendere un elemento contenitore, farlo diventare padre (ID) e fargli contenere le classi discendenti da esso.

    Ciao alla prossima.

  8. #8
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Citazione Originalmente inviato da sugandbibi
    La cosa che però non capisco è il tuo modo di usare le classi, per esempio perchè utilizzare una classe per elementi unici, per esempio la classe per l'elemento body è inutile, perchè body è unico nella pagina quindi non ha bisogno di una classe.
    Ma non solo, non dimenticare che di sole classi si vive, esistono anche gli identificatori, in pratica un box dovrebbe essere identificato da un ID univoco e dentro vi possono essere delle classi.
    Se crei solo classi, il motore di rendering del browser penserà che tutte facciano parte dello stesso identificatore (in questo caso l'elemento padre ovvero la finestra &lt;body&gt; per capirci) e tratta tutti gli elementi come discendenti da questa, tu oltre tutto hai definito anche body come classe, così il motore deve prendere come elemento padre &lt;html&gt;, la cosa migliore sarebbe stata prendere un elemento contenitore, farlo diventare padre (ID) e fargli contenere le classi discendenti da esso.

    Ciao alla prossima.
    :? Non ho capto bene ...
    Ok, son d'accordo che è inutile usare una classe per &lt;body&gt; (ma secondo me è inutile anche usare un id, basta fare body {...}, o no?), però mi non capisco perchè crea problemi al motore di rendering del browser.
    Ovvero, se ho capito bene quello che dici non ne ho trovato alcun riscontro, se guardo nella reference (ad esempio http://www.w3.org/TR/CSS21/selector.html#class-html ) non trovo che class ha necessità di un elemento padre, almeno non più di id o body {...}: è solo un mezzo di identificazione per indicare a cosa applicare gli elementi di formattazione indicati.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  9. #9
    Guest

    Predefinito

    grazie sugandbibi per lo script che mi hai passato...
    Quindi, correggimi se sbaglio...io ora posso creare due file .css (uno per IE e uno per MOZ), un file "stili.php" con lo script che mi hai dato e poi inserire nell'&lt;head&gt; delle pagine una cosa tipo:
    &lt;?PHP include("stili.php");?&gt;
    ...ho visto che così mi funzia...dimmi se c'è un modo più curato per farlo.

    ma dammi anche un chiarimento: tutti i browser che hanno come agente Mozilla presentano lo stesso comportamento di netscape per quanto riguarda padding e bordi dei box (che in pratica sono il mio problema). Oppure lo fa solo netscape? ...forse la vedi come una domanda scema, ma serve per chiarirmi le idee (data l'inesperienza).


    Per quanto riguarda le classi, come hai potuto notare, sono un po' ignorante anche lì.
    Io non ho proprio usato gli id e non comprendo ancora la distinzione precisa. Cioè spiegami meglio il meccanismo di gerarchia tra id e classi (magari fai riferimento all'esempio sopra).
    Come avrei dovuto impostare le caratteristiche di body (che oltre all'allineamento centrato avrebbe nella praticha altre caratteristiche, ad esempio scroll, sfondo, tipo caratt ecc)?? Per quali box usare id e per quali class??

  10. #10
    Guest

    Predefinito

    Se vi consola nemmeno io sapevo questa cosa.

    Diciamo che queste cose non sono mai spiegate :?

    Ora ho capito perche' non mi funzionava niente!

    Sugandbibi illuminaci!

  11. #11
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Altra domanda che mi sorge guardando il tuo codice sugandbibi:
    che differenza c'è (se c'è differenza) tra usare getenv('HTTP_USER_AGENT') e $_SERVER['HTTP_USER_AGENT']?
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  12. #12
    Guest

    Predefinito

    Nell'attesa di una risposta di sugandbibi, mi sono documentato meglio (HTML.it) sulla distinzione tra id e class. Da quello che ho capito l'utilizzo è lo stesso: assegnare degli attributi ad un elemento. L'unica differenza è che id lo posso usare una sola volta per uno specifico elemento, mentre class lo posso usare su più elementi della medesima pagina.
    Per cui mi verrebbe da dire che conviente ricorrere alle classi perchè così so che potrò utilizzare quegli attributi anche per altri oggetti della pagina. Ma chiaramente ci sarà ancora qualcosa che mi sfugge ... che rende importante anche id.

  13. #13
    Guest

    Predefinito

    Intanto vi dico che ho ripreso a lavorare sul mio sito e ho ritoccato le box.

    Per farle risultare uguali su firebird e IE 5.5 (ma non so come le veda IE 6 che e' quello che da' piu' problemi) ho usato non una tabella ma un div, e ho impostato:

    [code:1:b6f416d8dd]
    div.Box_Pr &#123;
    margin-left&#58; 20%;
    margin-right&#58;20%;
    padding&#58; 0.5%;
    border&#58; 2px solid #b9b4c4;
    background-color&#58; #8c8894;
    text-align&#58; justify;
    font-size&#58; 90%;
    color&#58; #000000;
    &#125;
    [/code:1:b6f416d8dd]

    Come vedete ho messo i margini ma non la width, perche' altrimenti IE andava in palla e mi faceva una box strettissima.

    Il risultato lo potete vedere qui:
    http://cod.altervista.org/Home.php?lang=it

    Per la domanda sul php rispondo io (posso sugan? )

    getenv si puo' usare sempre, ma dalla versione 4.1.0 sono state introdotte delle variabil dette superglobali perche' sono automaticamente presenti ovunque.

    Queste variabili sono degli array, e sono:

    $GLOBALS
    Contiene tutte le variabili globali dello script.

    $_SERVER
    Identico al veccho $HTTP_SERVER_VARS che e' deprecato ma usabile

    $_GET
    idem per $HTTP_GET_VARS

    $_POST
    idem per $HTTP_POST_VARS

    $_COOKIE
    idem per $HTTP_COOKIE_VARS

    $_FILES
    idem per $HTTP_POST_FILES

    $_ENV
    idem per $HTTP_ENV_VARS

    $_SESSION
    idem per $HTTP_SESSION_VARS

    $_REQUEST
    Nuovo in 4.1.0.
    Contiene tutte le variabili passate per GET, POST, o COOKIE.
    attenzione: dal PHP 4.3.0, la variabile FILE di $_FILES non e' in $_REQUEST.



  14. #14
    Guest

    Predefinito

    Allora:
    Non sto qui a spiegare tutto il meccanismo che lega class e id perchè lungo e tedioso, ma forse COd che conosce bene la programmazione dei linguaggi saprà spiegare bene cosa è un oggetto e come si implementa.

    Posso dire una cosa riguardo all'HTML e quindi ai suoi elementi (tag) ovvero che tutto li dentro è un oggetto implementato dal DOM (Document Object Model) quindi il genitore di una pagina web è sempre &lt;html&gt; e seguenti, ma il padre di tutto è sempre lui.
    L'html è strutturato peggio del cobol nel senso che ci sono delle "cose" che possono stare in certe sezioni e certe altre no, altre ancora possono stare un po dovunque.
    Per esempio:
    &lt;head&gt; è figlio di &lt;html&gt; ma segue un ramo diverso da &lt;body&gt; che pure è figlio di &lt;html&gt; (immaginatevi una pianta in cui &lt;html&gt; è il fusto e poi si dirama), &lt;title&gt; ad esempio è figlio di &lt;head&gt; ma non di &lt;body&gt;, come pure &lt;meta&gt; e &lt;style&gt;, cosa vuol dire ciò: che questi elementi possono stare nell'intestazione (&lt;head&gt; = &lt;testa&gt;) ma non nel corpo (&lt;body&gt; = &lt;corpo&gt;, grande Tim, aveva intrapreso gli elementi del linguaggio come parti di un corpo e io non me ne ero ancora accorto :? ).

    Bene cosa vuol dire ciò:
    Alcuni elementi sono univoci, cioè non ce ne possono essere più di uno nella stessa pagina, tra questi &lt;body&gt; che è uno e solo uno, quindi implementare una classe per esso è inutile, anche se funziona, questo perchè i metodi di quella classe dovrebbero essere soecifici solo per &lt;body&gt; e solo per lui.
    Purtroppo o per fortuna tutti gli elementi che seguono &lt;body&gt; sono suoi figli, perciò tutto ciò che fate a &lt;body&gt; lo fate a loro ( mi sento DIO )
    Ad esempio se date a &lt;body&gt; un colore per il testo ed uno per lo sfondo, questo si riperquote per tutto il documento, a badate bene sia che usate i fogli di stile, sia che usate i normali attributi previsti dal linguaggio.
    Perchè: i fogli di stile sono "cambiati" dal motore di rendering del browser per essere interpretati e ridefiniti in termini di punti e colori, al browser non gliene frega nulla se scrivete &lt;body text='black'&gt; o definite uno stile per dirgli che color deve essere nero, a lui gli importa solo sapere che il testo deve renderlo nero, punto e basta, la lingua che usate e affare vostro, tutto il resto non conta.

    Ora veniamo a quegli elelemtni che non sono unici nel documento, ovvero a tutti i figli di &lt;body&gt; cioè: &lt;img&gt;, &lt;a&gt;, &lt;div&gt;, &lt;span&gt; e chi più se ne ricorda ne metta.

    La classe non è un privilegio, Id è un privilegio, far divenire PADRE un elemento non è solo un nobile sentimento del creatore, ma serve a dare certi privilegi all'elemento.
    Ovviamente non è affatto necessario, un padre (anzi un patriarca) lo abbiamo già è &lt;body&gt; (tralasciamo &lt;html&gt; per ora, ma a volte è interessante e importante avere un elemento padre all'interno della stessa discendenza.

    Mettiamo un caso, volete creare un layer contenitore per una serie di altri contenitori e porlo al centro della pagina, conviene definirlo come un identificatore, perchè è il genitore di una serie di figli (o anche nessuno non fa nulla), quindi lo definisco così:
    [code:1:9c564707a2]
    div#corpo &#123;
    margin&#58; 10px auto; /* lo centro alla grande */
    height&#58; 300px;
    width&#58; 90%;
    border&#58; 1px solid red;
    &#125;
    [/code:1:9c564707a2]

    Quindi lo implemento nella pagina come figlio di &lt;body&gt;

    [code:1:9c564707a2]
    &lt;div id='corpo'&gt;
    ... bla bla ...
    &lt;/div&gt;
    [/code:1:9c564707a2]

    Ok, ora ho un box bordato di rosso che mi gira sulla pagina (de gustibus ... )

    Poi voglio che dentro questo box ci sia un header &lt;h&gt; figlio di questo e non globale, perchè voglio che le impostazioni per questo elemento rimangano legate a quel liello e non ad altri, quindi:

    [code:1:9c564707a2]
    segue da sopra

    div#corpo h1 &#123;
    font-size&#58; 1.8em;
    text-align&#58; center;
    text-decoration&#58; underline;
    &#125;
    [/code:1:9c564707a2]

    Quindi nel codice della pagina:

    [code:1:9c564707a2]
    &lt;div id='corpo'&gt;
    &lt;h1&gt;Bello grande e sottolineato!&lt;/h1&gt;
    &lt;/div&gt;
    [/code:1:9c564707a2]

    Cosa succede ora?
    Che h1 ha preso i metodi (object oriented programming) di "corpo" e si è adattato a quelle "impostazioni" che avevamo creato per lui.
    Se scriviamo:

    [code:1:9c564707a2]
    &lt;div id='corpo'&gt;
    &lt;h1&gt;Bello grande e sottolineato!&lt;/h1&gt;
    &lt;/div&gt;
    &lt;h1&gt;Brutto e zoppo&lt;/h1&gt;
    [/code:1:9c564707a2]
    Ecco che quello in fondo risulta essere proprio brutto e zoppo perchè è un orfanello senza un padre, come direbbe aiazzone: provare per credere.
    Questo codicillo l'ho sviluppato per vedere se stavo dicendo cavolate o profonde verità:

    [code:1:9c564707a2]
    &lt;html&gt;
    &lt;head&gt;
    &lt;style style='text/css' media='screen'&gt;
    body &#123;
    text-align&#58; center;
    background-color&#58; white;
    color&#58; black;
    font-size&#58; 1.0em;
    &#125;
    div#corpo &#123;
    width&#58; 90%;
    height&#58; 300px;
    border&#58; 1px solid red;
    margin&#58; 1em auto;
    color&#58; maroon;
    &#125;
    div#corpo h1 &#123;
    font-size&#58; 1.8em;
    text-align&#58; center;
    color&#58; blue;
    &#125;
    &lt;/style&gt;
    &lt;/head&gt;
    &lt;body&gt;
    &lt;div id='corpo'&gt;
    &lt;h1&gt;Ciao&lt;/h1&gt;
    Ciao bello.
    &lt;/div&gt;
    &lt;h1&gt;Bello&lt;/h1&gt;
    &lt;/body&gt;
    &lt;/html&gt;
    [/code:1:9c564707a2]

    Invece funziona!

    Cosa si evince da tutto ciò: che le classi non possono avere figli delle medesime, ovvero non si possono generare figli di questo genere:

    [code:1:9c564707a2]
    div.figlio &#123;&#125;

    div.figlio h1 &#123;&#125;
    [/code:1:9c564707a2]

    Non funzionerebbe, così come è impensabile per ora (non siamo in inghilterra ) di generare un padre con altri padri al suo interno:

    [code:1:9c564707a2]
    div#padre &#123;&#125;

    div#padre h1#k &#123;&#125;
    [/code:1:9c564707a2]

    No, si incavolano davvero tanto!
    Mente è giusta la sintassi seguente:

    [code:1:9c564707a2]
    div#padre &#123;&#125;

    div#padre h1.k &#123;&#125;
    [/code:1:9c564707a2]
    In quanto la classe K è figlia del padre.

    Spero di essermi spiegato a sufficienza, ad ogni buon conto eccovi due o tre links come di solito faccio in questi casi:

    Black Wolf, lui il mitico dei forum di html.it con cui ho fatto mille litigate
    Constile un must dei fogli di stile all'italiana. Ex html.it (pure lui).
    la bibbia? No, non credo ma ci assomiglia.
    La bibbia certamente, la bibbia.
    Eric Meyer un vangelo
    Tantek un'altro vangelo.

    Ecco lo sapevo ne è venuto fuori un cerotto, anzi quasi una sutura.
    Do il permesso ai mod di farci ciò che vogliono, forza della comunicazione libera e della birra (hic!).

    Ciao Marco.

  15. #15
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Per CoD: Ho capito, grazie; dunque le due cose sono equivalenti, è fondamentalmente una questione di portabilità: con getenv() dal PHP 3 in poi su qualsiasi server non ho problemi, mentre gli array superglobali sono disponibili solo da PHP 4.1.0 .

    Per sugandbibi: A te ci ritorno domani ... alcune cose non mi quadrano ... ma forse son solo i fumi della birra ...
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  16. #16
    Guest

    Predefinito

    ok sugandbibi ... grazie della tua illuminazione ... Ma il tuo cerotto lascia fuori un'ultima cosa ... Io nel pieno della mia ignoranza avevo scritto:
    Citazione Originalmente inviato da richialbum
    ma dammi anche un chiarimento: tutti i browser che hanno come agente Mozilla presentano lo stesso comportamento di netscape per quanto riguarda padding e bordi dei box (che in pratica sono il mio problema). Oppure lo fa solo netscape? ...forse la vedi come una domanda scema, ma serve per chiarirmi le idee (data l'inesperienza).
    Ho visto che Opera si comporta più o meno come IE ... infatti il tuo script php assegna ad Opera il file indexIE.css. Pertanto mi chiedo ... il file indexMOZ.css oltre a netscape a quali altri browser viene assegnato? e questi hanno lo stesso comportamento di netscape in fatto di padding e bordi dei box?

  17. #17
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Alfine sugandbibi eccoti le mie osservazioni ():

    Citazione Originalmente inviato da sugandbibi
    Ora veniamo a quegli elelemtni che non sono unici nel documento, ovvero a tutti i figli di &lt;body&gt; cioè: &lt;img&gt;, &lt;a&gt;, &lt;div&gt;, &lt;span&gt; e chi più se ne ricorda ne metta.

    La classe non è un privilegio, Id è un privilegio, far divenire PADRE un elemento non è solo un nobile sentimento del creatore, ma serve a dare certi privilegi all'elemento.
    Ovviamente non è affatto necessario, un padre (anzi un patriarca) lo abbiamo già è &lt;body&gt; (tralasciamo &lt;html&gt; per ora, ma a volte è interessante e importante avere un elemento padre all'interno della stessa discendenza.

    Mettiamo un caso, volete creare un layer contenitore per una serie di altri contenitori e porlo al centro della pagina, conviene definirlo come un identificatore, perchè è il genitore di una serie di figli (o anche nessuno non fa nulla), quindi lo definisco così:

    Codice:

    div#corpo {
    margin: 10px auto; /* lo centro alla grande */
    height: 300px;
    width: 90%;
    border: 1px solid red;
    }



    Quindi lo implemento nella pagina come figlio di &lt;body&gt;


    Codice:

    &lt;div id='corpo'&gt;
    ... bla bla ...
    &lt;/div&gt;



    Ok, ora ho un box bordato di rosso che mi gira sulla pagina (de gustibus ... )

    Poi voglio che dentro questo box ci sia un header &lt;h&gt; figlio di questo e non globale, perchè voglio che le impostazioni per questo elemento rimangano legate a quel liello e non ad altri, quindi:


    Codice:

    segue da sopra

    div#corpo h1 {
    font-size: 1.8em;
    text-align: center;
    text-decoration: underline;
    }



    Quindi nel codice della pagina:


    Codice:

    &lt;div id='corpo'&gt;
    &lt;h1&gt;Bello grande e sottolineato!&lt;/h1&gt;
    &lt;/div&gt;



    Cosa succede ora?
    Che h1 ha preso i metodi (object oriented programming) di "corpo" e si è adattato a quelle "impostazioni" che avevamo creato per lui.
    Se scriviamo:


    Codice:

    &lt;div id='corpo'&gt;
    &lt;h1&gt;Bello grande e sottolineato!&lt;/h1&gt;
    &lt;/div&gt;
    &lt;h1&gt;Brutto e zoppo&lt;/h1&gt;

    [...]
    Qua tutto OK ... più o meno.
    Nel senso che secondo me sbagli quando affermi che è attribuirgli l'ID che rende un elemento padre di un'altro: secondo me un elemento è padre di un'altro nel momento stesso in cui è il containing-block (terminologia del W3C) di un'altro, ovvero il padre è semplicemente il tag all'interno del quale è definito il tag figlio, indipendentemente dalle proprietà (class, id, ...) che questo ha.

    Ma procediamo che forse diventa più chiara la cosa (poi metterò anch'io qualche link)

    Citazione Originalmente inviato da sugandbibi
    Cosa si evince da tutto ciò: che le classi non possono avere figli delle medesime, ovvero non si possono generare figli di questo genere:


    Codice:

    div.figlio {}

    div.figlio h1 {}



    Non funzionerebbe, così come è impensabile per ora (non siamo in inghilterra ) di generare un padre con altri padri al suo interno:


    Codice:

    div#padre {}

    div#padre h1#k {}
    Invece sono perfettamente validi (e funzionano, questo è certo, visto che il primo caso lo ho usato personalmente varie volte senza problemi).

    Il primo è equivalente a applicare quanto contenuto nelle parentesi a ogni &lt;h1&gt; discendente da un &lt;div&gt; con class="figlio".

    Eccovi i link dal W3C:
    http://www.w3.org/TR/CSS21/selector.html
    e, per ulteriori dettagli:
    definizione del già citato containing-block
    struttura del documento: glossario - definizioni

    Per quanto riguarda il secondo caso è analogo ma non ha molto senso dato che gli ID dovrebbero essere unici. In realtà ho visto che IE, Opera e Mozilla se ne sbattono della regola sull'unicità degli id (altri non so, mai verificato).
    Con ciò non voglio dire che si può ignorare, visto che il significato degli ID non è solo legato ai css (basta pensare ai form ... immagina che casino!) è ovvio che è buona norma rispettare tale regola.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  18. #18
    Guest

    Predefinito

    No non è solo una norma ma una regola ben precisa.
    E' vero che da un padre discende un figlio (è normale), quindi a rigore hai ragione tu, ma dipende dal livello di nidificazione a cui vuoi arrivare.

    Certo puoi eccome mettere un identificatore dentro un altro, e poi dentro magari altre classi.
    E' valido ma è meglio non nificare delle classi.

    L'esempio che ti ho postato era banale perchè non avevo certo intenzione di scrivere un libro, ma se lo leggi bene c'è dentro tutto.
    Il tag h1 non ha una classe, ma siccome è compreso dentro corpo, le regole si applicano solo a questo in questo caso e solo in questo.
    Infatti nell'esempio finale, c'era un altro h1 in fondo alla pagina, fuori da #corpo e non prendeva le regole dell'altro h1.
    body infine è come un identificatore padre di tutti gli elementi presenti nella pagina.

    Quello che hai fatto tu è esattamente ciò che ho fatto io, cioè nidificare gli elelementi di stile, mentre nell'esempio postato da richialbum non c'era nidificazione se non a partire dall'elementi &lt;html&gt;.
    Daccordo funziona, ma aumenta la complessità.
    Ogni elemento deve avere la sua classe altrimenti non funziona, mentre a rigore se gli elementi dentro l'identificatore #corpo non hanno opzioni specifiche possono tranquillamente ereditare solo le impostazioni di #corpo senza avere a loro volta altro tipo di impostazioni o senza ereditare altre classi.

    Perchè è importante ciò? Per due motivi essenzialmente, la prima ovviamente è di non incasinarsi con una serie infinita di classi di cui prima o poi si perde la cognizione, la seconda pure importante è quella di non incasinare la vita dei browser.
    Infatti ogni livello di eredità, alloca una parte di memoria che il browser deve usare per ricordare tali imlementazioni, uno dei problemi maggiori è dato proprio dalla famigerata famiglia di internet explorer che ha problemi a gestire la memoria, in pratica bastano tre livelli complessi di annidamento con molte modifiche allo stile per farlo piantare.
    Ecco perchè è importante fare attenzione al numero di classi usate nel foglio, anche se teoricamente tutto è possibile.

  19. #19
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Citazione Originalmente inviato da sugandbibi
    No non è solo una norma ma una regola ben precisa.
    E' vero che da un padre discende un figlio (è normale), quindi a rigore hai ragione tu, ma dipende dal livello di nidificazione a cui vuoi arrivare.

    Certo puoi eccome mettere un identificatore dentro un altro, e poi dentro magari altre classi.
    E' valido ma è meglio non nificare delle classi.
    OK, su questo son perfettamente d'accordo, inutile nidificare gli id, e in generale meglio evitare anche con le classi. Rende solo più contorto e complesso il codice. La mie ultime righe erano solo un'osservazione sul comportamento dei browser.

    Pure non ho niente da dire su quanto dici alla fine relativamente a non complicare la vita al browser (e, aggiungerei, mantenere il codice il più semplice possibile).


    Passiamo alla pare che resta ancora da chiarire:

    Citazione Originalmente inviato da sugandbibi
    L'esempio che ti ho postato era banale perchè non avevo certo intenzione di scrivere un libro, ma se lo leggi bene c'è dentro tutto.
    Il tag h1 non ha una classe, ma siccome è compreso dentro corpo, le regole si applicano solo a questo in questo caso e solo in questo.
    Infatti nell'esempio finale, c'era un altro h1 in fondo alla pagina, fuori da #corpo e non prendeva le regole dell'altro h1.
    body infine è come un identificatore padre di tutti gli elementi presenti nella pagina.
    Questo e OK (e sulla faccenda ho capito che in parte ti avevo interpretato male).
    Quello che secondo me sbagli è questo:
    Citazione Originalmente inviato da sugandbibi
    Cosa si evince da tutto ciò: che le classi non possono avere figli delle medesime, ovvero non si possono generare figli di questo genere:


    Codice:

    div.figlio {}

    div.figlio h1 {}
    Questo è esattamente uguale, dal punto di vista del css, a quello che hai fatto tu con gli id; ovviamente modificando anche il html:

    [code:1:92a745ed74]&lt;div class='figlio'&gt;
    &lt;h1&gt;Bello grande e sottolineato!&lt;/h1&gt;
    &lt;/div&gt;
    &lt;h1&gt;Brutto e zoppo&lt;/h1&gt;[/code:1:92a745ed74]

    Certo, se l'elemento deve comparire una sola volta con quelle proprietà meglio usare l'id, più che altro per chiarezza.

    Il fatto è che tu affermi che questo esempio è sbagliato e non funzionerebbe, mentre (a parte che funziona benissimo) è perfettamente corretto, e anche un buon utilizzo.

    Almeno per come ho compreso io la reference del w3c ...
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  20. #20
    Guest

    Predefinito

    Sto seguendo con interesse la vostra discussione ... e sto imparando diverse cose su id e class...ma vorrei ricordare che a me interessava più il problema del differente comportamento di netscape (che ho deciso di risolvere con un doppio file .css e lo script php di sugandbibi) ... e che avevo scritto questa cosa in merito alla quale non ho ricevuto risposta:
    Citazione Originalmente inviato da richialbum
    ok sugandbibi ... grazie della tua illuminazione ... Ma il tuo cerotto lascia fuori un'ultima cosa ... Io nel pieno della mia ignoranza avevo scritto:
    Citazione Originalmente inviato da richialbum
    ma dammi anche un chiarimento: tutti i browser che hanno come agente Mozilla presentano lo stesso comportamento di netscape per quanto riguarda padding e bordi dei box (che in pratica sono il mio problema). Oppure lo fa solo netscape? ...forse la vedi come una domanda scema, ma serve per chiarirmi le idee (data l'inesperienza).
    Ho visto che Opera si comporta più o meno come IE ... infatti il tuo script php assegna ad Opera il file indexIE.css. Pertanto mi chiedo ... il file indexMOZ.css oltre a netscape a quali altri browser viene assegnato? e questi hanno lo stesso comportamento di netscape in fatto di padding e bordi dei box?
    ...credo di meritarmi un accenno al mio dubbio dato che ho aperto io i fuochi d'artificio relativamente ai box

  21. #21
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Citazione Originalmente inviato da richialbum
    ok sugandbibi ... grazie della tua illuminazione ... Ma il tuo cerotto lascia fuori un'ultima cosa ... Io nel pieno della mia ignoranza avevo scritto:
    Citazione Originalmente inviato da richialbum
    ma dammi anche un chiarimento: tutti i browser che hanno come agente Mozilla presentano lo stesso comportamento di netscape per quanto riguarda padding e bordi dei box (che in pratica sono il mio problema). Oppure lo fa solo netscape? ...forse la vedi come una domanda scema, ma serve per chiarirmi le idee (data l'inesperienza).
    Ho visto che Opera si comporta più o meno come IE ... infatti il tuo script php assegna ad Opera il file indexIE.css. Pertanto mi chiedo ... il file indexMOZ.css oltre a netscape a quali altri browser viene assegnato? e questi hanno lo stesso comportamento di netscape in fatto di padding e bordi dei box?
    Nella foga della discussione la tua domanda è rimasta irrisolta ... provvediamo subito, nell'attesa che sugandbibi si faccia vivo riguardo il problema class vs div:

    Mozilla, Firebird, e Netscape si comportano allo stesso modo.
    Non so cosa faccia Konqueror o altri browser linux (non tutti sono basati su Mozilla, o meglio Gegko se non erro, e Konqueror è di questi per quelò che ricordo).

    Per quanto riguarda Opera ... in realtà si comporta in modo intermedio: come IE per quanto riguarda i bordi, ma come Mozilla per quanto riguarda il padding (quello discusso nell'altro thread).
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  22. #22
    Guest

    Predefinito

    Chiaro che funziona, ma non è corretto a rigore.

    Ti spiego: secondo il W3C non è vietato mettere altri genitori-figlio dentro un genitore, la cosa importante è che nella pagina non dovrebbero comparire mai due volte lo stesso genitore.
    Ovvero sempre secondo il W3C non è possibile fare questo:
    [code:1:bf7696fada]
    &lt;div id='pippo'&gt;

    &lt;/div&gt;
    &lt;div id='pippo'&gt;

    &lt;/div&gt;
    [/code:1:bf7696fada]
    questo perchè pippo deve essere univoco.

    E' possibile però mettere un altro genitore dentro pippo ma considera che esso sarà figlio di pippo, e può servire a nidificare un sublivello con sue proprie caratteristiche, ad esempio un menù in un sotto layer dentro un altro layer:
    [code:1:bf7696fada]
    &lt;div id='pippo'&gt;
    &lt;h1&gt;Pippo Page&lt;/h1&gt;&lt;!-- questo è di pippo --&gt;
    &lt;div id='menu-di-pippo'&gt;&lt;!-- anche questo è di pippo --&gt;
    &lt;ul class='menu'&gt;&lt;!-- questo è di menù ma eredita da pippo --&gt;
    &lt;li&gt;&lt;a href='#'&gt;home&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href='#'&gt;garage&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/div&gt;&lt;!-- fine menu --&gt;
    &lt;p&gt;Questo è di pippo ma non del menù&lt;/p&gt;
    &lt;/div&gt;&lt;!-- fine di pippo --&gt;
    &lt;h1&gt;Qui siamo fuori di pippo e non eredito nulla da esso&lt;/h1&gt;
    [/code:1:bf7696fada]
    Analizzo il codice che ho esposto:
    un identificatore viene chiamato pippo, esso può dare certe caratteristiche come ad esempio il tipo e il colore del testo e la posizione nella finestra (viewport) del layer che lo supporta.
    Ma non solo stabilisce anche un'nestazione (h1) ed un paragrafo (p) e infine dove deve posizionarsi un altro livello chiamato menu-di-pippo, ma non ciò che c'è dentro a menu-di-pippo.
    Menu-di-pippo è un nuovo identficatore, dentro c'è definito un modo per far apparire un menù a cascata con colori e grafica sua.
    Esso eredita tutto da pippo, ma non esporta nulla, magari posso ridefinire certe proprietà proprie di pippo in modo che qui appaiano differenti, per esempio se pippo ha un colore di sfondo bianco, qui lo voglio grigio.
    Infine fuori da pippo c'è una seconda intestazione (h1) che eredita solo da body.

    Capisci ora che è importante definire un giusto livello di nidificazione perchè così puoi gestire meglio gli elementi, come avevate iniziato voi, funzionavaa meraviglia nel vostro caso, ma era legato solo a quel caso con quella pagina, e in essa ogni elemento aveva la sua classe perfettamente definita, ma la classe serviva solo a modificare certe caratteristeche che l'elemento ereditava dalla classe maggiore cioè body nel caso specifico.
    L'assurdo era che avevate definito classe proprio body che è il padre assoluto degli elementi che ponete dentro di esso.
    E' come dire che tu hai si un padre, ma tu ti metti al suo stesso livello e metti al suo livello anche i tuoi figli, mentre per lui quelli sono i nipoti, non ha senso, anche se in questo caso funziona.

    Guarda i fogli di stile si dicono a cascata proprio per questo, perchè un figlio eredita dal padre le sue caratteristiche, poi ne modifica alcune se vuole, anzi generalmente si procrea () proprio perchè i figli devono modificare certe caratteristiche come nell'esempio di cui sopra, altrimenti non avrebbero senso.

  23. #23
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    Forse non mi sono spiegato bene (in alternativa potrei non aver capito niente della tua ultima risposta).

    La questione che ancora mi sfugge è la differenza tra:
    [code:1:7647a96bbf]
    &lt;div id='pippo'&gt;
    &lt;h1&gt;...&lt;/h1&gt;
    &lt;/div&gt;
    &lt;h1&gt;...&lt;/h1&gt;
    [/code:1:7647a96bbf]
    e:
    [code:1:7647a96bbf]
    &lt;div class='pippo'&gt;
    &lt;h1&gt;...&lt;/h1&gt;
    &lt;/div&gt;
    &lt;h1&gt;...&lt;/h1&gt;
    [/code:1:7647a96bbf]
    Secondo me, a parte il dettaglio che se uso id deve essere unico mentre con class potrei avere più "fratelli" omonimi, sono equivalenti.

    Mentre tu hai detto che il secondo è errato, e non riesco a capire perchè (... sarò una crapa dura, ma è così).

    Non è una cosa fondamentale certo, ma io mi perdo detro a queste questioni "concettuali".
    Mi riguarderò anche la reference un'altra volta dove parla dei selectors nell'attesa della risposta.
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  24. #24
    Guest

    Predefinito

    No, no avevo solo detto che gli identificatori devono essere univoci, le classi no.

    Ti do una dritta, installati ciò : http://devedge.netscape.com/viewsour...oolbar-ticker/

    E se hai un news reader ti consiglio vivamente questo link: http://devedge.netscape.com/viewsource/rss-new_en.xml

  25. #25
    L'avatar di gve
    gve
    gve non è connesso Utente storico
    Data registrazione
    26-01-2003
    Residenza
    Brescia
    Messaggi
    2,964

    Predefinito

    OK sugfandbibi, allora avevo capito male ... però anche tu ti eri spiegato un po' maluccio :P

    Grazie dei link, molto interessanti, me li guarderò con calma (non ho mai fatto niente con il xml ...).

    Una domanda: ma devo avere per forza netscape installato? Io pensavo di poterlo usare anche in firebird, ma non sembra funzionare l'installazione ...
    | Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |

    GVE = GVE Virtual Extension
    AVCM #: 6637

  26. #26
    Guest

    Predefinito

    Ho cercato di mettere assieme le info della vostra discussione ... ma non riesco ancora a rendere ottimale il mio sito.
    La parte più contorta è quella del corpo perchè ha parecchio box uno dentro l'altro e non riesco proprio ad evitare di mettere una class dentro l'altra.
    Vi spiego (faccio riferimento ad un foglio css creato per IE...e chiaramente quello per MOZ è diverso per il problema bordi e padding):

    Ho una sezione corpo accentrata alla pagina e divisa in due parti in questo modo:
    [code:1:ab950842ea]
    #box_corpo&#123;width&#58;760px;background-color&#58;#E1E1FF;border&#58;1px solid #CC0000;padding&#58;0;margin&#58;auto;overflow&#58 ;auto;&#125;
    .box_corpo_sx&#123;width&#58;180px;float&#58;left; padding&#58;0px 20px 0px 0px;margin&#58;0;&#125;
    .box_corpo_dx&#123;width&#58;580px;float&#58;left; padding&#58;0;margin&#58;0;&#125;
    [/code:1:ab950842ea]

    il problema è che quelle due sezioni (sx e dx) che nella pagina vado a visualizzare con &lt;div class="box_corpo_sx"&gt;&lt;/div&gt; a loro volta contengono dei box interni per cui avrò:
    [code:1:ab950842ea]
    .box1&#123;width&#58;100%;background-color&#58;#EAFFFF;border&#58;1px solid #CC0000;padding&#58;0;margin&#58;0px 0px 10px 0px;text-align&#58;center;&#125;
    .barra11&#123;width&#58;100%;height&#58;11px;borde r&#58;1px solid #CC0000;background-image&#58; url&#40;img_grafic/b_r_9.gif&#41;;&#125;
    [/code:1:ab950842ea]
    e nella pagina per la sezione di sinistra una cosa del genere:
    [code:1:ab950842ea]
    &lt;div class=&quot;box_corpo_sx&quot;&gt;
    &lt;div class=&quot;barra11&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;box1&quot;&gt;bla bla bla&lt;/div&gt;
    &lt;div class=&quot;barra11&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;box1&quot;&gt;clap clap clap&lt;/div&gt; &lt;!-- notate che gli stessi box si ripetono più volte --&gt;
    &lt;/div&gt;
    [/code:1:ab950842ea]

    ...e se ho capito qualcosa delle vostra discussioni so già che sugandbibi di sicuro si incazza perchè mi ha già detto che non posso mettere una classe dentro un'altra classe.
    Ma allora mi chiedo come cavolo faccio a mettere dei sottobox nella sezione sx se non posso nidificare le classi. Forse non mastico ancora bene questi id e classi e non ci arrivo.
    Va beh ... e non vi dico che casino c'è nella sezione dx dove capitano dei box di un livello ancora inferiore ... Per capirci ... riferendosi alla sx ... è come se in questa box1 avesse un ulteriore sottobox.

    ok mi direte ... chi te lo fa fare a mettere tutti questi box nidificati ... ma a me servono ... Quindi se mi dite come risolvere il problema della sezione sx e poi anche di quella dx (che ha un livello in più).

    P.S. Vi dico anche che non è che non mi funzia (viene visualizzato corretto già così), ma vorrei fare le cose bene e rendere il tutto meno articolato ... E poi non voglio far incavolare sugandbibi

  27. #27
    Guest

    Predefinito

    Ma no che non mi incavolo affatto, ma scherziamo?
    Siamo su un forum mica in una piazza ( forum = piazza?)

    Comunque non preoccuparti le nostre sono discussioni accademiche, quindi:
    puoi certamente nidificare delle classi, però ricordati che ogni gruppo di nidificazioni mangia memoria, ora questo non è un grosso problema negli altri browser, ma in IE sì fino a farlo andare in crash.
    Se vuoi saperne di più ti consiglio uno dei link che ho postato nel mio primo post, anche perchè è in italiano: http://www.lucamascaro.info/articoli.selettori.xsp#top

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •