• Super User

    Centrare e mettere in tabella un DIV

    Ciao a tutti,

    premesso che come sapete non sono un conoscitore di html & friends 🙂 e mi affido a frontpage per le mie realizzazioni, sto cercando di mettere rimedio al nuovo aggiornamento di windows/IE che "blocca" gli oggetti flash, come ho già scritto qui:

    http://www.giorgiotave.it/forum/viewtopic.php?t=9968

    Avrei trovato una soluzione qui:

    http://www.magnificaweb.it/flashobject/

    Ma ora mi trovo a dover modificare tutte le mie pagine inserendo un codice Javascript.

    Il codice che dovrei inserire (e che bypassa quel blocco) è il seguente:

    
    <script type="text/javascript" src="flashobject.js"></script>
    <div id="flashcontent" style="width: 684; height&#58; 19">
      Questo testo è sostituito dal filmato Flash.
    </div>
    <script type="text/javascript">
       var fo = new FlashObject&#40;"nomefilmantoflash.swf", "mymovie", "781", "200", "7", "#FFFFFF"&#41;;
       fo.write&#40;"flashcontent"&#41;;
    </script>
    

    Funziona, ma mi sono sorti 2 problemi:

    ___ 1) come allineare al centro il DIV ?

    ___ 2) come inserire quel DIV in una tabella già esistente ?

    ___ 3) come utilizzare quel codice se si deve inserire più di un oggetto flash in una stessa pagina (visto che provando a duplicarlo nel testo html e a cambiare il riferimento al filmato flash visualizza solo l'ultimo oggetto flash richiamato)?

    Grazie a chiunque mi aiuti.

    Paolo


  • Super User

    Ciao Paolo, se mi fai vedere il codice della tabella in cui vuoi inserire quel div, è meglio.

    Altrimenti per semplificarti la vita puoi semplicemente provare ad usare questo codice:

    <script type="text/javascript" src="flashobject.js"></script>
    <div align="center">
    	<div id="flashcontent" style="width: 684; height&#58; 19; background-color&#58;#000099"; align="center"> Questo testo è sostituito dal filmato Flash. </div>
    </div>
    <script type="text/javascript">
       var fo = new FlashObject&#40;"nomefilmantoflash.swf", "mymovie", "781", "200", "7", "#FFFFFF"&#41;;
       fo.write&#40;"flashcontent"&#41;;
    </script>
    

    Per inserirlo nella tabella, basta lo copi e lo incolli tra i tag <td>...</td> relativi alla cella in cui vuoi mettere il filmato.

    Ciao :ciauz:


  • Super User

    Claudio grazie mille, appena posso lo provo e poi ti dico 🙂 .

    Paolo


  • Moderatore

    Secondo me così allinea al centro del blocco di 684px non della pagina.

    <div id="flashcontent" style="width: 684; height: 19; background-color:#000099; margin:0 auto;" align="center"> allinea anceh al centro della pagina. 🙂


  • Super User

    Grazie massy anche per il tuo contributo, poi quando lo provo vi dico, 😉


  • User

    Ciao Paolo,

    per poter inserire più di un filmato nella stessa pagina è sufficiente utilizzare nomi univoci per ogni div e poi "sostituirli" tutti singolarmente...

    Una guida rapida all'uso di FlashObject è riportata nello stesso sito e parla anche di questo caso:

    http://www.magnificaweb.it/flashobject/guida-rapida.html

    Spero sia d'aiuto


  • Super User

    Magnifico..... che dire il tuo nome dice già tutto..... GRAZIE.

    Ora dovrei avere tutto il necessaire..... speriamo!!!!

    Questo update di IE è davvero una gran rottura....

    Al limite mi rifaccio vivo!!!

    Grazie a tutti 🙂 🙂 🙂 .

    Paolo


  • User

    Mi fa piacere 😄

    Mi raccomando facci sapere come va...


  • Super User

    @massy said:

    Secondo me così allinea al centro del blocco di 684px non della pagina.

    <div id="flashcontent" style="width: 684; height: 19; background-color:#000099; margin:0 auto;" align="center"> allinea anceh al centro della pagina. 🙂

    Ciao Massy, ti avevo appena ringraziato in altra sede 😄

    Credo funzioni in entrambi i modi, avevo letto tempo fa che col margin c'erano alcuni problemi di compatibilità, quindi di solito preferisco mettere un doppio div.
    Di cui il primo posiziona al centro il secondo.
    Secondo te ci sono problemi?
    ( sei uno dei pochi che vedo in giro, da cui so di poter imparare, quindi ne approfitto, grazie 🙂 )

    Tra l'altro in questo caso, forse sarebbe più solido centrare il div, tramite le proprietà della tabella.

    Comunque Paolo volevo farti notare che erroneamente ho dimenticato uno sfondo colorato che avevo aggiunto a quel div, per provare come si vedeva.
    Quindi ti conviene cancellare background-color:#000099;

    Inoltre ```
    style="width: 684; height: 19"

    Probabilmente era ```
    style="width&#58; 684px; height&#58; 19px;"
    

    Ciao :ciauz:


  • Super User

    RAGAZZI..........

    SIETE DEI GENI!!!!!!!

    Grazie mille, funziona tutto, ora mi serve solo un sacco di tempo per cambiare pagina per pagina tutto il mio sito web..... 75 cambiamenti..... nei ritagli di tempo in un mesetto dovrei farcela.

    X Claudio e Massy: funzionavano tutti e due i codici.... e da profano non sono riuscito ad apprezzare differenze visive.

    X Magnifico: grazie a te ora ho tre oggettini flash su una sola pagina.

    X Bil Gates: vadaviaiciapp 😉 !!!!

    PS quando vi serve qualcosa non esitate che voglio contraccambiare.

    PPS x Claudioin effetti funziona senza unità di misura, l'ho trovato così e funziona.... il codice che tu avevi modificato l'avevo già rimodificato per il colore ;), fin lì riesco ad arrivare.

    Paolo


  • Moderatore

    Cla, non esser modesto e non farmi sentire in imbarazzo, oltretutto senza motivi 😄

    <div align="center">bla bla bla</div>
    

    allinea il testo al centro del blocco. Ovvio che se non dai dimensioni, il blocco occupa il 100% del blocco contenitore (ad esempio il body) e sembra che esso sia centrato.

    Ma se provi a scrivere:

    <div align="center" style="background:red; width&#58;50%;">bla bla bla</div> 
    ```noterai il senso di ciò che intendevo. Allinea il testo dentro il blocco, non allinea tutto il blocco al centro. Tra l'altro ottieni lo stesso risultato con 
    

    <div style="background:red; width:50%; text-align:center;">bla bla bla</div>

    
    Per allineare il blocco al centro devi dargli il margine automatico:
    

    <div style="background:red; width:50%; text-align:center; margin:0 auto;">bla bla bla</div>

    
    *Ovviamente* IE non rispetta le regole del w3c e fa come gli pare.
    Per far sì che funzioni con tutti dovresti impostare a center l'allineamento del blocco che lo contiene, al limite lo fai con body:
    

    <body style="width:100%; text-align:center;"><div style="background:red; width:50%; text-align:center; margin:0 auto;">bla bla bla</div></body>

    
    Altro probl. e se volessi mettere allineato a sinistra il contenuto del blocco?
    Rimetti text-align:left;
    
    Terminando:
    

    <body style="width:100%; text-align:center;"><div style="background:red; width:50%; text-align:left; margin:0 auto;">bla bla bla</div></body>

    
    Chiedo scusa per il semi-ot  :)

  • Super User

    Grazie per il chiarimento 🙂