Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2010
    Messaggi
    333

    Come centrare un'immagine in una cella <td> senza conoscerne le mimensioni?

    Ciao a tutti
    facilissimo centrare un'immagine in una cella di una tabella posizionandola in maniera assoluta dopo aver settato il position della cella in maniera relative.

    img
    {
    height: 400px;
    width:800px;
    position: absolute;
    left:50%;
    top: 50%;
    margin-left:-400px;
    margin-top:-200px;
    }

    Ma se non abbiamo le dimensioni dell'immagine e si debba centrare tutte le immagini di qualsiasi dimensioni siano?
    Inoltre la centratura su dispositivi android non è esatta
    Grazie

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, prova semplicemente così:
    codice:
    td>img {
      display: block;
      margin: 0 auto;
    }
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Ciao, prova semplicemente così:
    codice:
    td>img {
      display: block;
      margin: 0 auto;
    }
    Ma così è solo orizzontalmente! Credo che lui voglia verticale e orizzontale
    “Che le cose siano cosi, non vuol dire che debbano andare così. Solo che quando si tratta di rimboccarsi le maniche e incominciare a cambiare, vi è un prezzo da pagare. Ed è allora che la stragrande maggioranza preferisce lamentarsi più che fare”.

    Giovanni Falcone

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Quote Originariamente inviata da carlomarangoni Visualizza il messaggio
    Ma così è solo orizzontalmente! Credo che lui voglia verticale e orizzontale
    Carlo, se hai una diversa soluzione da consigliare è sicuramente bene accetta.
    Non voglio assolutamente essere scortese ma, perdonami se te lo dico: a meno che tu non abbia provato la soluzione che ho proposto e abbia appurato che non si allinea anche in verticale, il tuo intervento così mi pare non abbia alcun valore.

    Sul mio precedente post ho risposto di fretta e non ho aggiunto troppi dettagli, mi sono limitato a fornire semplicemente una soluzione.
    Per meglio chiarire posso specificare che sugli elementi <td>, la proprietà valign ha il valore middle di default, per cui basta forzare l'allineamento orizzontale dell'immagine. A meno che non siano applicate diverse altre regole sul <td> o sull'immagine, che influiscano su tale allineamento verticale preimpostato, allora credo possa bastare ciò che ho consigliato.

    Un esempio concreto:
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <style type="text/css">
          td {
            width: 800px;
            height: 404px;
            background: grey;
            border: 1px solid black;
          }
          td>img {
            display: block;
            margin: 0 auto;
          }
        </style>
      </head>
      <body>
        <table>
          <tr>
            <td>
              <img src="image.jpg" alt="">
            </td>
          </tr>
        </table>
      </body>
    </html>
    Qualunque sia la dimensione dell'immagine, sarà centrata sia orizzontalmente sia verticalmente dentro la cella. Aggiungo, se l'immagine è più grande della cella stessa è chiaro che la cella si estenderà in base al contenuto, come da suo normale comportamento.

    Mi scuso se nel precedente post non sono stato troppo chiaro
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Carlo, se hai una diversa soluzione da consigliare .......................
    Mi scuso se nel precedente post non sono stato troppo chiaro
    No! Nessuna altra soluzione da proporre e mi scuso io, avevo letto il post frettolosamente e non avevo considerato che era una tabella
    “Che le cose siano cosi, non vuol dire che debbano andare così. Solo che quando si tratta di rimboccarsi le maniche e incominciare a cambiare, vi è un prezzo da pagare. Ed è allora che la stragrande maggioranza preferisce lamentarsi più che fare”.

    Giovanni Falcone

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.