View Full Version : [CSS] Spostare div
Ho un problema con 2 div.
Attualmente la div 2 è su un livello superiore rispetto alla div 1, vorrei far si che la div 2 inizi 10 pixel prima della div 1.
Però non voglio farlo spostando in basso la div 2, ma mettendo più in alto la div 2.
Il problema è che non riesco a spostare la div di -10px in verticale.
Situazione attuale:
http://img171.imageshack.us/img171/6369/001rd.gif (http://img171.imageshack.us/i/001rd.gif/)
Obiettivo:
http://img12.imageshack.us/img12/3864/002kw.gif (http://img12.imageshack.us/i/002kw.gif/)
Per necessità le div sono impostate position:absolute
Mi potete aiutare?
Grazie
ESSE-EFFE
10-03-2011, 20:00
Se position è absolute ti basta impostare i valori corretti di left e top per entrambi i div...
black_wizard
11-03-2011, 00:14
oppure imposti il div 1 con position relative e poi metti il div 2 dentro il div1 con position absolute e top -10 e right 0
Se position è absolute ti basta impostare i valori corretti di left e top per entrambi i div...
Purtroppo le div non sono a inizio pagina, ma all'interno di altre div che possono variare la grandezza, quindi non posso dargli un posizionamento fisso.
Non è possibile fare una cosa del tipo:
top: posizione attuale-10px;
oppure imposti il div 1 con position relative e poi metti il div 2 dentro il div1 con position absolute e top -10 e right 0
Faccio una prova e ti faccio sapere, devo verificare se cambiando position da absolute a relative non sballi la struttura del sito.
ESSE-EFFE
11-03-2011, 10:14
Purtroppo le div non sono a inizio pagina, ma all'interno di altre div che possono variare la grandezza, quindi non posso dargli un posizionamento fisso.
E allora perchè imposti position: absolute?
Certo che postare un po' di codice non sarebbe male...
Ho fatto qualche modifica, ho tolto le div ed ho lasciato direttamente il link all'immagine applicando class e style su di esso.
Questo è il codice:
<div class="center_block">
{if $product.new == 1}
<!-- IMMAGINE NOVITA' -->
<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$base_dir}themes/earth/img/new.png" alt="" style="position:absolute;z-index:200" /></a>
{else}
{if $product.on_sale}
<!-- IMMAGINE PRODOTTO IN SALDO -->
<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$base_dir}themes/earth/img/offer.png" alt="" style="position:absolute;z-index:200" /></a>
{/if}
{/if}
{if $product.esclusiva}
<!-- IMMAGINE CHE DOVREBBE ESSERE 10px PIU' IN ALTO -->
<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$base_dir}themes/earth/img/esclusiva1.png" alt="" style="position:absolute;z-index:300;padding-left:70px;" /></a>
{/if}
<!-- IMMAGINE PRODOTTO -->
<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}" style="z-index:100" ><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'categorie')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" /></a>
Queste sono le classi nel css:
ul#product_list a.product_img_link{
float:left;
margin-right:0.6em;
}
ul#product_list a.product_img_link img{
vertical-align:bottom;
}
Da qui potete vedere quello che vorrei fare:
http://img845.imageshack.us/img845/5716/001dh.jpg (http://img845.imageshack.us/i/001dh.jpg/)
Spero si capisca...
black_wizard
11-03-2011, 12:06
sinceramente vedendo il tuo codice non capisco dove è il problema...
Devi solo mettere il div contenitore di tutto (quel center block) position relative che non cambierà niente nella visualizzazione del sito..
poi aggiungi top:-10px al div che deve andare un pò più sopra.
Hai perfettamente ragione, ora funziona... mi stavo complicando la vita. :rolleyes:
GRAZIE
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.