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

    problema con un float:left

    ciao,

    sto cercando di adattare ad una pagina uno slideshow immagini ma ho un problema con un float.

    la situazione:

    <div id="page>
    <div id="thumbs" class="navigation">
    <div class="caption">


    testo</p>
    </div>
    </div>
    </div>

    div#page è il contenitore principale
    div#thumbs con la classe "navigation" contiene le thumbs allineate nel contenitore tramite float:left
    il div caption contiene il testo descrittivo dell'immagine

    Il problema è che il float:left della classe "navigation" impedisce al contenitore "caption" di rimanere dentro al contenitore principale "page" e quindi sfora.

    Gli attributi di navigation sono inseriti in una classe javascript in fondo alla pagina:

    codice:
    // We only want these styles applied when javascript is enabled
     $('div.navigation').css({'width' : '300px', 'float' : 'left'}); 
    $('div.content').css('display', 'block');
    ho provato a mettere un clearfix <div style="height:0;clear:both;"></div> prima della chiusura di ogni contenitore, ma non funziona...

    idee??

  2. #2
    Utente di HTML.it L'avatar di Prill
    Registrato dal
    Oct 2006
    Messaggi
    2,947
    ciao, probabilmente hai fatto il clear non nella giusta posizione, però è impossibile dirti di più senza vedere la pagina

  3. #3
    ciao prill,
    grazie per la risposta.

    non riuscendo a venirne fuori, ho risolto in un altro modo.
    nel JS che controllava il float , l'ho sostituito con un position:absolute; top: 530px
    non so se è una finezza o no, ma l'ho testato con i vari browser e funziona.
    solo con una cosa non andava: il top con IE 7 non si visualizza allo stesso modo che con gli altri FF, Chrome e IE9.
    Quindi sono ricorso all'hack

    codice:
    <!--[if lte IE 7]> <script type='text/javascript' src='js/slideshow_ie.js'></script>
     <![endif]-->
    e ora va tutto bene

  4. #4
    rettifico


    il position non era absolute ma relative e comunque non funziona per IE 7

  5. #5
    Utente di HTML.it L'avatar di Prill
    Registrato dal
    Oct 2006
    Messaggi
    2,947
    se puoi lascia un link alla pagina così vediamo

  6. #6
    ok ho messo online la bozza

    ho ripristinato la versione originale con il float:left. lo trovi nei 2 file slideshow.js e slideshow_ie.js nelle prime righe.

    ho lasciato inoltre i border a 1px colorati nei div interessati, così vedi meglio.

    grazie

  7. #7
    Utente di HTML.it L'avatar di Prill
    Registrato dal
    Oct 2006
    Messaggi
    2,947
    Non è un problema di float, i clear ci sono e vanno bene, è il caption che sfora, poiché le dimensioni del testo superano l'altezza impostata, prova ad assegnargli un centinaio di pixel o quanti ne servono per il testo più lungo (e alto) e il div page si estenderà a inglobarlo

  8. #8
    Originariamente inviato da Prill
    è il caption che sfora, poiché le dimensioni del testo superano l'altezza impostata
    scusa ma dov'è che hai visto un'altezza impostata?

  9. #9
    Utente di HTML.it L'avatar di Prill
    Registrato dal
    Oct 2006
    Messaggi
    2,947
    Dovrebbe essere
    codice:
    div.caption-box {
    	position: relative;
    	clear: left;
    	height: 75px;
    }
    (il line-height, ereditato, è di 22px )

  10. #10
    il css di questo slideshow mi sembra un pò contorto.

    ok per tagliare la testa al toro, imposto un'altezza maggiore al div.caption-box anche se non mi piace tanto l'idea di dover limitare il numero di righe di descrizione. L'ideale sarebbe stato che il box si estendesse in base al numero di righe rimanendo sempre dentro al div#page....

    ok grazie mille prill

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.