Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    <style> CSS fuori da <head>

    Ciao a tutti!

    Mi chiedevo se e quanto fosse scorretto utilizzare una dichiarazione di stile <style> bla bla </style> al di fuori dello <head>, ma direttamente nel <body>. Esempio:

    codice:
    <html>
    
      <head>
        ...
      </head>
    
      <body>
        ....bla bla bla...
    
         <style>
             .pippo 
             {
                 background:#000000;
             }
         </style>
     
          .... bla bla
    
         <div class="pippo">
            altro bla bla
         </div>
     </body>
    
    </html>
    Apparentemente Firefox e IE lo eseguono correttamente...

    Grazie! :-)

    (Perchè non lo metto nello head? Perchè lo voglio caricare dinamicamente... ;-))

  2. #2
    Utente di HTML.it L'avatar di salasir
    Registrato dal
    Apr 2004
    Messaggi
    1,884
    Allora forse fai meglio a definire lo stile inline:
    codice:
      
          .... bla bla
    
         <div style="background:#000000;">
          altro bla bla
         </div>
     </body>
    Maurizio

    "se ami il lavoro che fai, non lavorerai mai un giorno in vita tua!"

  3. #3
    Originariamente inviato da salasir
    Allora forse fai meglio a definire lo stile inline:
    Il problema è che l'esempio che ho fatto è iper-semplificato: in realtà ho decine e decine di elementi con stili anche abbastanza complessi... :master:

  4. #4
    Utente di HTML.it L'avatar di salasir
    Registrato dal
    Apr 2004
    Messaggi
    1,884
    Ma qual è lo scopo di questi stili variabili?
    Maurizio

    "se ami il lavoro che fai, non lavorerai mai un giorno in vita tua!"

  5. #5
    Originariamente inviato da salasir
    Ma qual è lo scopo di questi stili variabili?
    Bè... lo scopo è abbastanza ovvio: fare una pagina HTML il cui CSS è letto da diversi file così da ottenere diverse combinazioni possibili.

    Quella pagina la includo in un DIV con PHP: pertanto non può avere uno head (in pratica va a sommarsi all'HTML già esistente...). Volevo evitare di stilizzare ogni singolo elemento, è un lavoraccio, e volevo verificare se mettendo uno <style> ... </style> nel body, il DIV caricato regge le impostazioni di stile. Se mi confermate che l'esempio che ho fatto sopra non è problematico, allora sono a posto!

    Grazie!

  6. #6
    se è un inclusione in php tutto quello che includi prende lo stile della pagina

  7. #7
    Utente di HTML.it L'avatar di salasir
    Registrato dal
    Apr 2004
    Messaggi
    1,884
    Fammi capire: Hai diverse combinazioni di CSS che crei dinamicamente.
    Ma sono un numero di combinazioni gestite dall'utente o da te?

    Perchè se stabilisci tu un certo tipo di combinazioni, basta creare due,trer, cinque fogli di stile differenti, e dinamicamente inserisci nell'head il foglio interessato.
    Maurizio

    "se ami il lavoro che fai, non lavorerai mai un giorno in vita tua!"

  8. #8
    Fammi capire: Hai diverse combinazioni di CSS che crei dinamicamente.
    Ma sono un numero di combinazioni gestite dall'utente o da te?

    Perchè se stabilisci tu un certo tipo di combinazioni, basta creare due,trer, cinque fogli di stile differenti, e dinamicamente inserisci nell'head il foglio interessato.
    ri-ciao, scusa per il ritardo nella risposta, sono stato assente e de-internettizzato in questi giorni.

    Dunque, provo a rispiegare la situazione.
    Per una serie di (lunghi ) motivi, mi trovo una pagina tipo la seguente:

    codice:
    <html>
      <head>
      ...
      </head>
      <body>
    
       <div id=1>
            (caricamento dinamico con Ajax)
       </div>
    
       <div id=2>
            (caricamento dinamico con Ajax)
       </div>
    
      </body>
    </html>
    La mia web-application carica i DIV con delle chiamate ajax. Vorrei che i DIV avessero degli stili CSS personalizzati per cambiare colori, font, eccetera, così da creare un mosaico di quadratoni. La chiamata Ajax riempie correttamente il DIV, e quindi ottengo quanto segue:

    codice:
    <html>
      <head>
      ...
      </head>
      <body>
    
       <div id=1>
            <style>
                bla bla stile numero 1...
            </style>
             <div> pippo <span> pluto </span> </div>   <- contenuto del DIV 1
       </div>
    
       <div id=2>
            <style>
                bla bla stile numero 2...
            </style>
             <div> topolino <span> paperino </span> </div>   <- contenuto del DIV 2
       </div>
    
      </body>
    </html>
    Quale è il problema? Che questo <style> che viene iniettato di forza via Ajax, non è letto correttamente da Internet Explorer. Lo ignora e di conseguenza il mio DIV risulta senza stile.
    Teoricamente so che lo <style> va messo nello <head>: mi chiedevo se ci fosse qualche maniera di "costringere" IE ad applicare uno <style> scritto nel bel mezzo del <body>.

    Semplice, no?

  9. #9
    ma se tu nel foglio di stile imposti tutti le gli stili ogni singolo div non li applica?

    Esempio

    div#1{background-color:#000000;}
    div#1 p {color:#fffff;}
    div#1 h1{color:#000000; }

    eccetera e poi le diverse formattazioni per tutti gli altri div:

    div#2{background-color:#FC0000;}
    div#2 p {color:#7C7CB5;}
    div#2 h1{color:#B5B47C; }

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    272
    Non è più semplice fare un css o un gruppo di css e prendere solo le parti che interessano n quel momento?
    Voglio dire:
    Per qualche ragione il div deve avere lo sfondo rosso (è solo un esempio, ovviamente);
    per altre deve averlo bianco con un'immagine sovrapposta....
    Perchè non ti limiti a cambiare la classe o l'id al div quando ti serve?
    Se usi l'Ajax dovrebbe essere più semplice.
    Credo che potresti farlo pure in php anche se in maniera più contorta, credo....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.