Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 32

Discussione: Immagini in quadrato

  1. #1

    Immagini in quadrato

    Vorrei che le immagini di una galleria fossero in dei quadrati cliccabili, ora, il problema è che per immagini quadrate o con la base più grande dell'altezza va tutto bene dato che ho impostato:

    .corpodimnormgalleria img{

    width: 30%;
    margin-left: 2.5%;
    margin-bottom: 2.5%;
    float: left;

    }

    così mi vengono automaticamente scalate e ridimensionate le immagini, il problema è su un immagine verticale... ovvero viene si scalata, ma l'altezza rimane maggiore...
    Dovrei impostare una cosa tipo:
    height=width, ma non trovo niente a riguardo...
    Francesco

  2. #2
    prova usando max-width e max-height

  3. #3
    E cosa gli metto come valore...?
    Francesco

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Supponendo che le "celle" siano degli oggetti di tipo blocco con dimensioni definite e quadrate:

    - nel CSS delle immagini orizzontali (ovvero in cui la larghezza e` > dell'altezza) inserisci:
    width:100%;

    - in quello delle immagini verticali:
    height: 100%;
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Ti ringrazio ma,
    Le dimensioni sono scalabili per rendere il sito responsive...
    E le immagini non so a priori in che formato sono...
    Francesco

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Quote Originariamente inviata da Francesco95 Visualizza il messaggio
    Ti ringrazio ma,
    Le dimensioni sono scalabili per rendere il sito responsive...
    Questo non e` un problema. L'importante e` che i "quadrati" siano degli oggetti di tipo blocco e che abbiano dimensioni definite (non importa se sono in %, purche` siano definite correttamente

    E le immagini non so a priori in che formato sono...
    Pero` il server puo` saperlo al momento in cui le inserisce; a quel punto basta aggiungere lo stile al tag:
    <img src="..." alt="..." class="img-orizz" />
    <img src="..." alt="..." class="img-vert" />

    e poi nel CSS definisci le due classi:
    codice:
    .img-orizz {
      width:100%;
    }
    .img-vert {
      height: 100%;
    }
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    mhm in realtà le immagini sono semplici img in dei div senza dimensione (div che per ora potrebbero anche non esserci)
    le immagini sono dimensionate come width 30% del macrocontenitore (corpo)
    altra cosa, le immagini le inserisco con js, però potrei passare tramite ajax i dati sul loro orientamento...
    Francesco

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Se vuoi fare una cosa fatta bene, semplice da programmare ed eventualmente da modificare, la cosa migliore e` che le varie "celle" (o "quadrati") siano dei blocchi. Poi alla fine le celle saranno invisibili: servono solo per sistemare gli spazi destinati ad ogni immagine. Tali celle possono avere dimensione 30%, ed anche avere una dimensione minima (di modo che se poi sono troppo piccole, ce ne staranno due in una riga invece di tre, ma il tutto resta ragionevolmente formattato).

    Non capisco come puoi inserire le immagini con JS (significa lato client?), comunque anche con JS puoi determinare quale dimensione e` maggiore dell'altra, ed applicare la classe corrispondente.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Tramite js cambio gli src degli img...
    Allora le colonne già le gestisco tramite float e clear nei css, passando da 3 a 2 a 1 a seconda della larghezza...
    In che modo intendi blocchi?
    Intendi la proprietà display:block o fare una tabella?
    Cioè ora il mio codice è questo:
    HTML:
    codice:
    <br>\
                    <div id='divimg1'><img id='img1'></div>\
                    <div id='divimg2'><img id='img2'></div>\
                    <div id='divimg3'><img id='img3'></div>\
                    <div id='divimg4'><img id='img4'></div>\
                    <div id='divimg5'><img id='img5'></div>\
                    <div id='divimg6'><img id='img6'></div>\
    CSS:
    codice:
    .corpodimnormgalleria img{
        
        width: 30%;
        margin-left: 2.5%;
        margin-bottom: 2.5%;
        float: left;
    
    
    }
    
    
    #img4{
        
        clear: both;
        
    }
    con poi le varia media queries per adattare le colonne
    Ultima modifica di Francesco95; 17-03-2015 a 12:54
    Francesco

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Anzitutto occorre che impari ad inserire i codici nel forum: devi inserirli tra i VBtag [ code ] e [ /code ] (senza gli spazi), altrimenti si perde la formattazione.

    I div sono blocchi di default, per cui non hai problemi.
    Il 30% va inserito nel tag <div> e non nel tag <img>. Questo ti formatta ciascuno spazio che poi conterra` le immagini in modo che siano tutti uguali.
    Poi le immagini avranno una dimensione al 100%.

    Per le prove ti consiglio di dare un colore di sfondo ai tuoi div: tu hai necessita` di vedere come reagisce il browser alla tua programmazione. Poi il colore lo toglierai quando il sito va in produzione.
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.