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

    testo sempre centrato sopra immagine

    Ciao,
    non riesco ad uscirne da un problema con i css.

    Allego immagine per spiegarmi meglio.


    Vorrei poter mettere un div dove voglio nella pagina, usando position:absolute, e questo div deve contenere un'immagine e al di sopra di questa un testo con background.
    Questo testo deve essere sempre centrato all'immagine e deve adattarsi se è lungo o corto.

    Qualcuno mi può aiutare?
    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Questo e` uno dei pochi casi in cui vale la pena usare i posizionamenti assoluti.

    Il codice dovrebbe essere di questo tipo:
    codice:
    HTML:
    
    ...
      <div class="bottone" id="mybutt1">
        <a href="..." title="..." > 
          [img]...[/img]
          
    
    <span>testo lungo o corto</span></p>
        </a>
      </div>
    
    
    CSS:
    #mybutt1 {   /* posizionamento del centro del singolo bottone */
      left: ...;
      top:...;
    }
    .bottone {    /* serve per tutti i bottoni del tipo */
      position: absolute; 
      width: XXXpx;         /* almeno la larghezza dell'immagine */
      height: YYYpx;        /* almeno l'altrezza dell'immagine */
      margin-left: -XXpx    /* XX e` meta` di XXX */
      margin-top: - YYpx;  /* YY e` meta` di YYY */
    }
    .bottone a {
      display: block;
      width: 100%;
      height: 100%;
    }
    .bottone p {
      position: absolute;
      width: 30em;          /* deve poter contentere sempre il messaggio */
      margin-left: -15em;
      bottom: 0;             /* vedi tu se va bene 0 o va modificato */
      font: ...;
      background: transparent;
    }
    .bottone span {
      display: block;
      margin: auto;
      background: black;  /* o il colore che vuoi */
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Grazie per la risposta.
    Ma penso ci sia qualcosa che non vada. Facilmente mi sono perso qualcosa nell'integrare il codice.

    Il background del testo non è grande quanto il testo e non è centratissimo.

    link test
    potresti dare un'occhiata per favore?

    Grazie.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    E` come se lo span fosse largo (quasi) quanto il p
    Prova a togliere il display:block dallo span.

    E per le prove aggiungi un background-color diverso a tutti gli oggetti (solo per vedere come si comportano i vari posizionamenti.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Refreshando vedi il risultato online.

    Qualche idea per risolverlo?

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Aggiungi un
    text-align: center
    nel p

    (pero` allora lo span deve essere di tipo inline, quindi non ci puo` stare il display: block )


    Inoltre vedo che la barra grigia (che poi sara` trasparente) e` centrata rispetto al bordo sinistro del bollo rosso, quindi va spostata a dx di meta` della width del bollo.

    PS: metti uno sfondo colorato anche al tag <a>, sempre per le prove.

    E probabilmente i 30em sono un po' troppi: puoi ridurli (e di conseguenza il margin-left)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Ok, direi che ci siamo.
    Lo lascio online se serve a qualcun'altro.
    Grazie mille!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ci sono un po' di incongruenze tra le unita` di misura.
    Probabilmente la cosa verra` sballata se modifichi la dimensione del carattere.

    Non ha senso mescolare misure il px e misure in em, perche` non hanno sempre lo stesso rapporto.

    Comunque la struttura e` corretta, si tratta solo di rifinire questi particolari.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.