Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    107

    Allineare due elementi a livello di blocco di cui uno ha: position:relative

    Salve.. Ho un grandissimo problema...
    Ecco la mia pagina Pagina

    Bene come potete vedere ho attribuito a #home position:relative e anche display:block per poterne determinare le dimensioni e quindi inserire lo sfondo (la scritta home)

    Bene, adesso vorrei inserire un altro pulsante accanto a quello home come posso fare?

    Solitamente se voglio mettere due elementi block accanto imposto lo faccio con il float.. Questa volta però il primo block è spostato dal normale flusso infatti ho provato ad aggiungere il secondo pulsante e inserendo float:left non si ottiene nulla..
    Come posso ovviare?

    Il codice è:
    codice:
    <html>
    	<head>
    		<style type="text/css">
    		
    		body{margin:0;}
    		
    		
    		#testa{ margin:auto; width:990px; height:180px; background:url(http://www.gruppowebazar.com/svilup.jpg) top left no-repeat;}
    		
    		#home{position:relative; top:150px; left:33px;}
    		
    		#home{ display:block; background:url(http://www.gruppowebazar.com/homeR.jpg) center center no-repeat; width:90px; height:35px; }
    	
    	
    		</style>
    	</head>
    		
    	<body>	
    	<div id="testa"> 
    		  	
    	</div>	
    	</body>
    </html>
    Grazie a chiunque voglia aiutarmi

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    107
    Nessuno può darmi una mano?
    Sto uscendo pazza..

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    crea una lista di link dentro il tuo div (<ul>[*]<a...>)
    alla lista (ul) dai solo margin-top, margin-left (il posizionamento relativo non sarebbe necessario)
    e togli i punti elenco (list-style-type: none)

    poi dai float: left e display: inline ai list-item e anche ai link


    P.S la prossima volta continua sul thread che avevi già aperto visto che praticamente parli dello stesso codice....
    .. chiudo l'altro.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    107
    Originariamente inviato da fcaldera
    crea una lista di link dentro il tuo div (<ul>[*]<a...>)
    alla lista (ul) dai solo margin-top, margin-left (il posizionamento relativo non sarebbe necessario)
    e togli i punti elenco (list-style-type: none)
    Ok semplice fatto.

    poi dai float: left e display: inline ai list-item e anche ai link
    Se do display ai link, non posso poi impostare l'altezza e la larghezza, per cui lo sfondo non sarà più visibile.. o no?
    Inoltre se sono inline, che senso ha fare i float left?

    P.S la prossima volta continua sul thread che avevi già aperto visto che praticamente parli dello stesso codice....
    .. chiudo l'altro.
    Pensavo che fosse più utile fare così perchè erano due argomenti diversi nonostante il codice fosse lo stesso..


    Grazie..

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da dori88
    Se do display ai link, non posso poi impostare l'altezza e la larghezza, per cui lo sfondo non sarà più visibile.. o no?
    no, perchè un elemento con float diventa automaticamente elemento blocco anche se si specifica display: inline

    Originariamente inviato da dori88
    Inoltre se sono inline, che senso ha fare i float left?
    display: inline serve solo ad explorer 6 per evitare il "double margin bug"
    nel tuo caso se non devi usare margini puoi omettere display: inline;
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    107
    Originariamente inviato da fcaldera
    no, perchè un elemento con float diventa automaticamente elemento blocco anche se si specifica display: inline
    Questo se float:left viene scritto dopo il display:inline giusto?

    Ho fatto i cambiamenti, ma il margin-top ha effetto anche sul div contenitore..
    Ho risolto con il position:relative. Secondo i miei calcoli si sarebbero posizionati bene se il primo fosse stato spostato da sx di circa 30px.. Se visiti la pagina potrai invcece vedere che sono posizionati bene (per come li avevo ideati) ma.. CON LEFT:0PX... Come è possibile? Inspiegabile..

    Ah, dimenticavo.. affinchè il contenitore possa contenere correttamente i float non devo mettere nel div principale:

    overflow:hidden

    ?

  7. #7
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    scusa ti ho modificato il messaggio senza volerlo

    ad ogni modo

    Questo se float:left viene scritto dopo il display:inline giusto?
    no è indipendente dall'ordine. Float left vince comunque, display viene ignorato ma non da IE6
    che gli permette di correggere un bug. Qualsiasi sia l'ordine delle due regole in presenza di float,. l'elemento si comporta sempre come se fosse blocco.


    Ho fatto i cambiamenti, ma il margin-top ha effetto anche sul div contenitore..
    Ho risolto con il position:relative. Secondo i miei calcoli si sarebbero posizionati bene se il primo fosse stato spostato da sx di circa 30px.. Se visiti la pagina potrai invcece vedere che sono posizionati bene (per come li avevo ideati) ma.. CON LEFT:0PX... Come è possibile? Inspiegabile..
    riposta il codice, non so come lo hai modificato ora

    Ah, dimenticavo.. affinchè il contenitore possa contenere correttamente i float non devo mettere nel div principale:

    overflow:hidden
    si, assieme ad height: auto
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    107
    In questa maniera il margin non lavora bene.. Anche se metto margin-left:0px infatti i bottoni si trovano spostati a sx..

    Ecco il codice:
    codice:
    <html>
    	<head>
    		<style type="text/css">
    		
    		#testa{ margin:auto; width:990px; height:180px; background:url(http://www.gruppowebazar.com/svilup.jpg) top left no-repeat; overflow:hidden; }
    		
    		#menu{margin-top:140px; margin-left:10px; list-style:none;}
    						
    		#home:link, #home:visited{ display:block; background:url(http://www.gruppowebazar.com/homeR.jpg) center center no-repeat; width:90px; height:35px; float:left;}
    		
    		#home:hover, #home:focus{display:block; background:url(http://www.gruppowebazar.com/homeS.jpg) center center no-repeat; width:90px; height:35px; float:left;}
    	
    	
    	#home3:link, #home3:visited{display:block; background:url(http://www.gruppowebazar.com/lavR.jpg) center center no-repeat; width:102px; height:35px;  float:left; }
    
    #home3:hover, #home3:focus{display:block; background:url(http://www.gruppowebazar.com/lavS.jpg) center center no-repeat; width:102px; height:35px; float:left; }
    		</style>
    		
    	</head>
    		
    	<body>	
    	<div id="testa"> 
    		<ul id="menu">
    		[*]   	
    		[*] 
    	[/list]
    	</div>	
    	</body>
    </html>
    La pagina è: pagina

    Ps. Se imposto height:auto il contenitore viene tagliato a metà..

  9. #9
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Ti taglia a metà il contenuto perchè era spostato in relative probabilmente
    usa questo.

    codice:
    <html>
    	<head>
    		<style type="text/css">
    		
    		#testa{ 
                           margin:auto; width:990px; height:180px; 
                           background:url(http://www.gruppowebazar.com/svilup.jpg) top left no-repeat;   }
    		
    		#menu{margin-top:140px; margin-left:10px; list-style-type: none; height: auto; overflow: hidden;  
                                  width: 194px; border: 1px solid red; /* giusto per vedere se l'ul non viene tagliato... */ 
                    }
    
    		#menu li, #menu a { float: left; display: inline; } /* raggruppa lo stile */
                    #home { width:90px; height:35px; } /* non vorrai scrivere le dimensioni per ogni psudoclasse... */
                    #home3 { width:102px; height:35px; } /* non devi scrivere display: block sui float */
    
    		#home:link, #home:visited{ 
                         background:url(http://www.gruppowebazar.com/homeR.jpg) center center no-repeat;
                    }
    		
    		#home:hover, #home:focus{
                          background:url(http://www.gruppowebazar.com/homeS.jpg) center center no-repeat;
                   }
    	
    	
      	       #home3:link, #home3:visited{
                        background:url(http://www.gruppowebazar.com/lavR.jpg) center center no-repeat;
                    }
    
                   #home3:hover, #home3:focus{
                        background:url(http://www.gruppowebazar.com/lavS.jpg) center center no-repeat;
                   }
    		</style>
    		
    	</head>
    		
    	<body>	
    	<div id="testa"> 
    		<ul id="menu">
    		[*] link   	
    		[*]link3  
    	[/list]
    	</div>	
    	</body>
    </html>
    ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    107
    Grazie intanto per il codice..
    L'ho provato, ma anche qui.. il margin-top non ha effetto...
    Non riesco proprio a capire il motivo..

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.