Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    div non si allinea a sinistra

    Qualcuno mi svela perchè non mi si allinea a sinistra il testo?

    file .css
    codice:
    #dinamic_table_6_6
      { 
        text-align: left;
      }
    Richiamato nella pagina cosi

    codice:
    <div id='dinamic_table_6_6'>Testo da visualizzare a sinistra</div>
    Si trova all' interno di un <TD>, sarà perchè comanda la cella ed ha un valore di default che allinea al centro?

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    sarà perchè comanda la cella ed ha un valore di default che allinea al centro?
    Non penso dipenda da quello. Può essere che il div sia comunque influenzato da altre regole o, peggio ancora, da errori di sintassi o di mal formattazione del codice. Difficile constatarlo senza vedere il resto del codice o, meglio, la pagina in funzione.
    Per caso, puoi postare un link alla pagina pubblica?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Non penso dipenda da quello. Può essere che il div sia comunque influenzato da altre regole o, peggio ancora, da errori di sintassi o di mal formattazione del codice. Difficile constatarlo senza vedere il resto del codice o, meglio, la pagina in funzione.
    Per caso, puoi postare un link alla pagina pubblica?
    Ti capisco perfettamente e sostengo al 100% la tua teoria, ma dovrei postare righe e righe di codice php che generano dinamicamente il codice CSS. Diciamo che ho risolto, non so come ma ho risolto, ho dato un valore di allineamento del contenuto alla cella (<td align="center">) e magicamente il div inserito all' interno della stessa si è allineato a sinistra. Grazie mille lo stesso per il tuo interessamento al mio problema

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Prova a definire anche:
    codice:
    #dinamic_table_6_6 {
      width: 100%;
      text-align: left;
    }
    Nota che un <div> non e` la marcatura corretta per un testo: la marcatura del testo e` <p> (pero` dentro un <td> non sarebbe necessario).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it L'avatar di exFelino
    Registrato dal
    Jul 2014
    residenza
    Aci Catena (CT)
    Messaggi
    710
    La pagina in questione è online?

  6. #6
    Quote Originariamente inviata da Mich_ Visualizza il messaggio
    Prova a definire anche:
    codice:
    #dinamic_table_6_6 {
      width: 100%;
      text-align: left;
    }

    Nota che un <div> non e` la marcatura corretta per un testo: la marcatura del testo e` <p> (pero` dentro un <td> non sarebbe necessario).
    ma la width:100% non ce l' ha di default il <div>?


    Quote Originariamente inviata da exFelino Visualizza il messaggio
    La pagina in questione è online?
    No perchè gira su server web locale

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Quote Originariamente inviata da camionistaxcaso Visualizza il messaggio
    ma la width:100% non ce l' ha di default il <div>?
    No. Che io sappia, se non specifichi niente la larghezza e` il minimo possibile per farci stare il contenuto (ma la cosa puo` dipendere dal browser e/o dalla DTD).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Quote Originariamente inviata da Mich_ Visualizza il messaggio
    No. Che io sappia, se non specifichi niente la larghezza e` il minimo possibile per farci stare il contenuto (ma la cosa puo` dipendere dal browser e/o dalla DTD).
    se fai un div senza specificare la larghezza e gli dai un bordo puoi vedere che prende il 100% delo spazio, ma non so se lo fa solo col mio browser

  9. #9
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    se fai un div senza specificare la larghezza e gli dai un bordo puoi vedere che prende il 100% delo spazio, ma non so se lo fa solo col mio browser
    Sì, essendo il div un elemento blocco, di default occuperà tutto lo spazio disponibile per la sua larghezza; chiaramente se non ci sono altre regole che interferiscono su questa. Mich_ sta invecchiando, oppure si tratta di alzheimer precoce.

    Può essere, quindi, che quel div stia perdendo, in qualche modo, la virtù di essere un elemento blocco.
    Quel #dinamic_table_6_6, ho l'impressione che serva a qualche script per attribuire delle impostazioni particolari a tale elemento. Mi sbaglio?
    Se fosse così, è probabile che tali impostazioni siano la causa del problema che descrivi.

    Ripeto, è difficile capire quali siano le cause del problema solo da quel poco che hai postato, perché dietro potrebbe esserci tutto un mondo.

    Ad ogni modo puoi fare delle verifiche per esclusione.
    Prova ad attribuire un differente colore per il background del td e per quello del div, quindi verifica che il div si stia estendendo per tutta la larghezza del td.

    Se il div mantiene la sua qualità di elemento blocco, dovrebbe estendersi per lo spazio disponibile. Se, per qualche oscuro motivo, perde questa qualità, ed assume un aspetto di elemento in-linea, allora si restringe in base al suo contenuto e, nel tuo caso, segue la regola di allineamento centrato del testo che è impostata sul td.

    Un esempio:
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <style type="text/css">
          td{
            width: 500px;
            background: Gainsboro;
          }
          #dinamic_table_6_6{
            /*
              Il div, essendo un elemento blocco, si estende per tutta la larghezza disponibile.
            */
            background: Orange;
            text-align: left;
            /*
              Se però viene forzato ad essere un elemento in linea,
              allora si dimensiona in base al suo contenuto, quindi può presentarsi il problema che descrivi.
              
              Ad esempio, prova a decomentare una delle seguenti righe.
            */
            /*display: inline;        */
            /*display: inline-block;  */
          }
        </style>
      </head>
      <body>
        <table>
          <tr>
            <td align="center">
              Testo nel TD<br>
              <div id='dinamic_table_6_6'>Testo da visualizzare a sinistra</div>
            </td>
          </tr>
        </table>
      </body>
    </html>
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  10. #10
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Può essere, quindi, che quel div stia perdendo, in qualche modo, la virtù di essere un elemento blocco.
    Quel #dinamic_table_6_6, ho l'impressione che serva a qualche script per attribuire delle impostazioni particolari a tale elemento. Mi sbaglio?
    No non sbagli, praticamente ogni volta che utilizzo la stessa classe/metodo di PHP per impaginare in una tabella html i dati presi dal database, decido quale id deve andare a prendere nel file CSS, sennò ogni volta che utilizzo il metodo ho sempre la stessa formattazione della tabella e siccome i risultati sono variabili, ogni volta ho sicuramente colonne formattate in modo diverso. Capito? Cmq ripeto, ho risolto dando un valore di default alla cella...non mi chiedere perchè

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.