Newsgroup: it.comp.www.html
Titolo: Problemi con CSS (con codice)

Ciao a tutti...
sto diventando matto ma non riesco a capire come cavolo si annidano questi 
layer...  stando alla definizione di position:absolute, ovvero: "un blocco 
posizionato in modo assoluto può essere collocato anche in relazione ad un 
altro elemento che lo contiene." a rigor di logica il div "prova" dovrebbe 
stare nella posizione 100-100 del div contenuti. Invece NO!! Va a 
posizionarsi in 100-100 di contenitore.
Conenuti è ben posizionato perchè se gli metto il bordo vedo dove è 
collocato, ed infatti va sotto a barra menu.
Come faccio a posizionare i div interni a contenuti utilizzando questo layer 
come riferimento, posso usare solo il primo contenitore come riferimento ?
Grazie
Ecco il problema su questo codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
"
http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd
">
<html xmlns="
http://www.w3.org/1999/xhtml
">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<style type="text/css">
#contenitore {width:300px;
    margin-left:auto;
    margin-right:auto;}
#top {width:100%;height:30px;background-color:#FF0000}
#barramenu {width:100%;height:50px;background-color:#00FF00}
#contenuto {width:100%;height:300px;border:1px solid 
#0000FF;background-color:#888888;}
</style>
<body>
<div id="contenitore">
 <div id="top"></div>
 <div id="barramenu"></div>
 <div id="contenuto">
   <div style="position:absolute;top:10px;">La deve essere nell'area grigia 
a 10px dall'alto.</div>
 </div>
</div>
</body>
</html>

 del div contenuti.
SOLO se il div contenuti ha position: relative
Infine, non serve specificare per ogni blocco width: 100%, è il default.
Nello. 

 posizionarsi in 100-100 di contenitore.
Prova a dichiarare "contenuti" come "position: relative" (senza spostarlo
con left e top)
Bye.

Mario Busana wrote:
<cut>
prova cosi':
<div style="position:absolute;margin-top:10px;">La deve 
essere nell'area grigia
a 10px dall'alto.</div>
ciao

 come riferimento, posso usare solo il primo contenitore come riferimento ?
Applica un "position: relative" sul DIV che vuoi usare
come *riferimento* ed un "position: absolute" sul layer che
vuoi spostare secondo il riferimento e poi i soliti
top, left, bottom e right per indicare le coord.
Ciao.
-- 
deelan
http://passiomatic.com/
http://www.deelan.com/

 Conenuti č ben posizionato perchč se gli metto il bordo vedo dove č


Non vi ringrazio uno per uno, ma lo faccio una volta per tutti, siete stati 
molto chiari e gentili. Il primo problema č risolto... mettendo il relative 
a #contenuti.
Ora ne ho un'altro, vorrei mettere un footer... sotto al div #contenuti...
contenuti ora č relative ed infatti tutti i div al suo interno rispettano la 
posizione datagli con position:absolute ed i classici top..left.. ecc
Il problema č che il div #contenuti non segue l'altezza dei suoi contenuti, 
quindi il footer resta sotto ai primi pixel dei contenuti partendo 
dall'alto.
In alcune pagine ho dimensioni fisse quindi potrei impostare l'altezza di 
#contenuti, ma altre pagine hanno altezza variabile visto che vengono 
riempite da codice asp... che in alcuni casi si limita a poche righe, in 
altri raggiunge una certa altezza (limitata dalla paginazione) tra l'altro 
non sempre uguale perchč i dati sono variabili.
Come posso risolvere ?
Grazie mille...  č che io sono piů dalla parte dell'asp (dove so come 
risolvere i problemi) che dell'impaginazione, ma sto cercando di diventare 
totalmente autonomo. 

 al body.
Ecco, proprio oggi ho scoperto una cosa.
Metti che dentro una cella di una tabella hai vari elementi, tra i quali,
in fondo, un <a href>. 
L'anchor tag lo rendi block, posizionato assoluto e con le coordinate 
"bottom:0px;"
Ovviamente vuoi che se ne stia buono buono sul fondo del <td>, quindi
associ al <td> una classe che renda "position:relative" la cella come
faresti con qualsiasi contenitore dell'anchor tag "assoluto".
In questo caso, l'anchor tag se ne infischia del "position relative" della
cella e ti piazza l'anchor tag sul fondo della pagina html.
Cativo.
-- 
 Bak [ ICQ 13249673 ]
"Orwell was an optimist"
  Kibo

 faresti con qualsiasi contenitore dell'anchor tag "assoluto".
Il problema č che l'elemento td non č né block né inline e quindi la regola 
non vale :-(
Si risolve aggiungendo un div aggiuntivo dichiarato relative subito 
all'interno del td, cosě:
<td><div style="position: relative">
Un po' di testo qua...
<a style="position:absolute; bottom: 0">Sto in fondo alla cella (almeno 
spero)</a>
</div>
</td> 

 riferimento.
Perfetto... ma fino a un certo punto:
in questo modo il div  impostato a relative, non "sente" le dimensioni di 
cosa c'è dentro (ovvero tutti i vari div in absolute che ora sono 
correttamente posizionati) e quindi l'eventuale footer va a finire 
sovrapposto a questo livello... e non in fondo.
Se le pagine avessero tutte la stessa altezza non sarebbe un problema, ma 
visto che molte sono generate dinamicamente è un casino...