Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216

    immagine al centro verticale del div

    ciao a tutti
    ho bisogno di una mano per allineare verticalmente un img in un div con altezza e lunghezza fissa.

    codice HTML:
    	<div style="width:170px; height:170px; overflow:hidden; text-align:center;">    <img width="170px" style="display:inline; float:left; text-align:center; vertical-align:middle;"  src="BackOffice\upload_img\<?php echo $row_PercorsoGB['percorso']; ?>" alt="" />    </div>
    ne ho provate diverse ma non sono riuscito
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  2. #2
    Utente di HTML.it L'avatar di Prill
    Registrato dal
    Oct 2006
    Messaggi
    2,947
    qual è l'altezza dell'immagine? Sottrai l'altezza del div a quella dell'immagine e dividi per due, il valore ottenuto potrà essere impostato come padding-top del div o padding-top (o margin-top) dell'immagine

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    Quote Originariamente inviata da Prill Visualizza il messaggio
    qual è l'altezza dell'immagine? Sottrai l'altezza del div a quella dell'immagine e dividi per due, il valore ottenuto potrà essere impostato come padding-top del div o padding-top (o margin-top) dell'immagine

    l'immagine viene caricata dal DB quindi ce ne sono diverse di diverse dimensioni

    comunque facendo un piccolo script con quel equazione non va; posto il codice:

    codice HTML:
     <?php     
    $immagine = "BackOffice/upload_img/".$row_PercorsoGB['percorso'];   
    $dimensioni = getimagesize($immagine);    
    $larghezza = $dimensioni[0];    
    $altezza = $dimensioni[1];    
    $h = (170 - $altezza)/2;  ?>     
    <div style="width:170px; padding-top:<?php echo $h; ?>; height:170px; overflow:hidden; text-align:center;">    <img width="170px" style="display:inline; float:left; text-align:center; vertical-align:middle;"  src="BackOffice\upload_img\<?php echo $row_PercorsoGB['percorso']; ?>" alt="" />        </div>
    Ultima modifica di rare; 25-08-2014 a 19:27
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  4. #4
    Utente di HTML.it L'avatar di Prill
    Registrato dal
    Oct 2006
    Messaggi
    2,947
    Se vuoi farlo via php dovrai chiedere in altra sezione.
    Se vuoi farlo via css occorrerà aggiungere un altro div prima di quello attuale che avrà un display:table;, mentre quello che già hai avrà un display:table-cell;. In questo caso potrai sfruttare il vertical-align:middle sui div e l'immagine sarà centrata (ma via quel float:left che attualmente ha con i vari allineamenti che saranno invece sui div)

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Se dentro il div non ci sono altre cose, oltre l'immagine, puoi provare:
    codice:
    <div style="width:170px; height:170px; overflow:hidden; text-align:center; line-height:170px;">
      <img width="170px" src="..." alt="" />
    </div>
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    no non va neanche così

    riposto il codice:
    codice HTML:
     <div style="width:620px;"> 
    
    <?php do {?>       
    
    <div style=" border:solid #000; width:170px; float:left; height:170px; overflow:hidden; text-align:center; line-height:170px;">        
    
    <a class="group1" href="BackOffice\upload_img\<?php echo $row_ExtractPhoto['percorso']; ?>" title="<?php echo $row_ExtractPhoto['titolo']; ?>">        
    
    <img style="vertical-align:middle; text-align:center; display:inline;" width="170px" src="BackOffice\upload_img\<?php echo $row_ExtractPhoto['percorso']; ?>" alt="" />        
    
    </a>    
    
    </div>
    
    <?php } while($row_ExtractPhoto = mysql_fetch_assoc($ExtractPhoto));?>
    
    </div>
    come vedete c'è un div che ha una W=620 e al suo interno un altro div il quale contiene un img che vorrei al centro sia orizzontale che verticale
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Si`, ma cosi` stai cambiando le condizioni ...

    Una cosa e` centrare un oggetto inline dentro un <div>, una cosa ben diversa e` centrare un <div> (che e` un oggetto di tipo block).

    Fa' le cose una alla volta.
    Dato che ormai hai iniziato, finisci con la centratura dell'immagine nel suo contenitore. Prova a dare un colore di sfondo al contenitore (solo per le prove) e vedi se l'immagine si centra.

    Quando questo e` a posto puoi passare all'altro problema.
    Per centrare un block in un altro block, ci sono alcuni trucchi; il piu` comune e` usare il posizionamento assoluto e dare quindi al blocco interno:
    codice:
      position: absolute;
      left: 50%;
      width: 170px;
      margin-left: -85px;
      top: 50%;
      height: 170px;
      margin-top: -85px;
    naturalmente il contenitore di questo blocco dovra` avere un posizionamento per lo meno relative.

    IMPORTANTE: elimina il float, altrimenti non puo` funzionare
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    nono asp il div non deve essere allineato al centro del primo è solo l'immagine che deve essere centrata:



    per capirci guarda le ultime 2 img, vorrei che ci fosse lo stesso spazio bianco sia top che bottom ovviamente come quelle le imgs non hanno tutte le stesso dimensioni quindi mi serve una cosa che vada bene per tutto...

    ho postato l'intero codice solo e soltanto per completezza e per essere sicuro che il mio problema non dipendesse dal primo div
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Puoi postare il link al sito?
    Perche` ho bisogno di vedere la pagina funzionante per capire dove puo` stare il problema.

    Se la pag. non e` in linea, puoi pubblicarla in un sito provvisorio? (vedi istruzioni nel regolamento del forum, se non sai come fare)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    purtroppo no non mi è permesso...
    c'è il db collegato.
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

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 © 2026 vBulletin Solutions, Inc. All rights reserved.