Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420

    Dubbi su float e position

    Ciao a tutti... so che sto inondando il forum di richieste per lo più niubbissime ma sto cercando di fissare i concetti fondamentali.....

    Facendo vari esperimenti mi trovo in questa situazione standard:

    codice:
    #main {widht:1000px; height:600px; margin:auto}
    
    <div id="main">
        <div id="testa">
            <img>
            <h1>
            <elemento3>
        </div>
        <div id="corpo"></div>
    </div>
    Il div corpo al momento non mi interessa, quindi mi concentro sul div testa, che al suo interno deve contenere un'immagine allineata a sinistra, un testo/titolo allineato all'immagine sulla stessa base e a destra ci sarà un'applet o qualcosa del genere (un orologio o un calendarietto...)

    I miei dubbi sono questi:
    (e so che anche solo per il fatto di leggerli tutti dovrei pagarvi!! Offro da bere a chi mi aiuta a chiarirmi le idee!)

    1 - E' consigliabile che i 3 elementi all'interno della testa siano a loro volta contenuti in altrettanti <div> o è ininfluente?
    2 - Come si vede dalla regola #main, sono abituato a dare delle dimensioni al corpo della pagina al cui interno sviluppare poi gli altri elementi. E' una pratica scorretta?
    In questo caso, perchè Testa eredita la larghezza da main, ma non l'altezza?
    3 - In casi simili a questo in cui ho degli elementi di dimensioni fisse e note a priori, contenuti in un altro elemento, è più corretto indicare le dimensioni del contenitore uguale al totale delle dimensioni degli elementi, oppure lasciare il contenitore libero di adattarsi agli oggetti contenuti? Ci sono particolari controindicazioni dell'uno o dell'altro metodo?
    4 - Ora per tenere allineati i tre elementi di testa sulla stessa linea ho utilizzato float:left per immagine e testo e float:right per il terzo elemento; è corretto o è consigliabile utilizzare un unico allineamento per gli elementi sulla stessa linea e poi distanziarli ad hoc con margini e padding?
    5 - Il tag testa che contiene i 3 elementi float, dev'essere a sua volta float? Spero di no perchè altrimenti gli elementi del corpo che trovano spazio vanno ad infilarsi dentro la testa scompaginando tutto...
    6 - Il tag h1 non risulta allineato sulla stessa base dell'immagine e questo, mi è stato spiegato, dipende dal fatto che di default ha proprietà position:static che invalida eventuali proprietà bottom, left ecc; Per poterlo allineare a piacimento quindi lo indico come position:absolute, ma ho letto che anche il contenitore dell'elemento absolute dovrebbe essere indicato come absolute... quindi Testa... che però a sua volta è contenuto in Main... che è contenuto in body... cioè devo dichiararli tutti absolute se voglio impostare distanze esatte dai margini? A questo punto è meglio dichiararlo relative? Dalle prove che ho fatto credo si possano ottenere gli stessi risultati con entrambe le proprietà, modificando ovviamente i valori di top, left ecc... ma ci sono controindicazioni? Come si procede solitamente in questi casi... perchè non mi è tanto chiaro quale elemento conviene che sia static, quale absolute e quale eventualmente relative....

  2. #2

    Re: Dubbi su float e position

    Originariamente inviato da sitodue
    ...
    1 - E' consigliabile che i 3 elementi all'interno della testa siano a loro volta contenuti in altrettanti <div> o è ininfluente?
    Non necessariamente, però nel tuo caso hai un elemento inline (img), che di default si comporta in modo differente rispetto agli altri elementi di tipo block (h1, div, p, ecc). Se hai esigenza di gestire la posizione di ogni singolo tag indipendentemente dagli altri forse è meglio se i tag inline li inserisci all'interno di un div

    2 - Come si vede dalla regola #main, sono abituato a dare delle dimensioni al corpo della pagina al cui interno sviluppare poi gli altri elementi. E' una pratica scorretta?
    In questo caso, perchè Testa eredita la larghezza da main, ma non l'altezza?
    Gli elementi di tipo block occupano di default tutto lo spazio orizzontale utile. Impostando la larghezza di un elemento contenitore ad una misura fissa, gli elementi block interni se non altrimenti specificato useranno il 100% dello spazio messo a disposizione dall'elemento contenitore. Lo stesso non vale per l'altezza, in quanto normalmente un elemento block assume l'altezza in base al suo contenuto.

    3 - In casi simili a questo in cui ho degli elementi di dimensioni fisse e note a priori, contenuti in un altro elemento, è più corretto indicare le dimensioni del contenitore uguale al totale delle dimensioni degli elementi, oppure lasciare il contenitore libero di adattarsi agli oggetti contenuti? Ci sono particolari controindicazioni dell'uno o dell'altro metodo?
    Dipende da caso a caso, non penso ci sia una regola fissa.

    4 - Ora per tenere allineati i tre elementi di testa sulla stessa linea ho utilizzato float:left per immagine e testo e float:right per il terzo elemento; è corretto o è consigliabile utilizzare un unico allineamento per gli elementi sulla stessa linea e poi distanziarli ad hoc con margini e padding?
    Penso sia meglio la prima soluzione, ma anche qui non esiste una regola generale.

    5 - Il tag testa che contiene i 3 elementi float, dev'essere a sua volta float? Spero di no perchè altrimenti gli elementi del corpo che trovano spazio vanno ad infilarsi dentro la testa scompaginando tutto...
    No.

    6 - Il tag h1 non risulta allineato sulla stessa base dell'immagine e questo, mi è stato spiegato, dipende dal fatto che di default ha proprietà position:static che invalida eventuali proprietà bottom, left ecc; Per poterlo allineare a piacimento quindi lo indico come position:absolute, ma ho letto che anche il contenitore dell'elemento absolute dovrebbe essere indicato come absolute... quindi Testa... che però a sua volta è contenuto in Main... che è contenuto in body... cioè devo dichiararli tutti absolute se voglio impostare distanze esatte dai margini? A questo punto è meglio dichiararlo relative? Dalle prove che ho fatto credo si possano ottenere gli stessi risultati con entrambe le proprietà, modificando ovviamente i valori di top, left ecc... ma ci sono controindicazioni? Come si procede solitamente in questi casi... perchè non mi è tanto chiaro quale elemento conviene che sia static, quale absolute e quale eventualmente relative....
    Prova ad inserire l'immagine in un div e a mettere quest'ultimo in float:left
    Chi non cerca trova.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420
    Ciao, grazie per le risposte prima di tutto; alcuni concetti mi sono decisamente più chiari anche perchè ho fatto un po' di prove variando le proprietà left e position per vedere man mano come variava l'impaginazione e alla fine ho ottenuto un risultato quasi decente...
    Così ho caricato online questa prima pagina realizzata e.... quando vado a visualizzarla vedo un'impaginazione totalmente differente!

    Qui ho caricato la pagina:

    http://www.visualizzazioni.altervista.org/


    E qui ho messo un'immagine di come la visualizzo in locale o con l'anteprima di dreamweaver:

    http://www.visualizzazioni.altervist...indexprova.jpg

    Come si spiegano due visualizzazioni così differenti? Io avevo messo in preventivo che con browser diversi e risoluzioni diverse alcuni elementi avrebbero potuto avere visualizzazioni differenti, ma in questo caso io ho usato lo stesso browser per aprire la pagina sia in remoto che in locale!
    Sono molto scoraggiato perchè prima di tutto non ho idea di dove mettere mano per sistemare, inoltre se ogni volta c'è questa differenza tra remoto e locale vuol dire che posso progettare solo in remoto...

  4. #4
    Di diverso mi sembra ci sia solamente lo sfondo, sbaglio?
    Chi non cerca trova.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420
    o_O


    Io la vedo così http://www.visualizzazioni.altervist...ndexonline.jpg

    Sono senza parole... è come se tutto l'elemento <div="testa"> non si stende più per tutta la larghezza del body e di conseguenza <div id="left"> essendo float:left anch'esso va ad incollarglisi vicino spingendo tutto il resto in basso... :-s

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.