Ciao a tutti!!! Scusate ho cercato sul forum e su tutti gli articoli ma non sono proprio riuscito a risolvere il mio problema. Rigrazio già tutti quelli che mi risponderanno.
Vorrei centrare un testo non statico (lo carico da un database e cambia a seconda di alcuni parametri) accanto ad una immagine anche essa non statica (quindi non posso dare un valore fisso per l'altezza).
Non voglio però usare il valore height ai div ne voglio mettere un div con altezza fissa che li contenga.
In pratica vorrei simulare una tabella con td senza altezza definita e cn il testo della prima colonna centrata in verticale. Faccio un esempio:
<table>
<tr>
<td>testo centrato non statico</td><td>immagine non statica</td>
</tr>
<tr>
<td>testo centrato2 non statico</td><td>immagine2 non statica</td>
</tr>
...
...
</table>
Con le tabelle il testo si centra da solo e l'altezza della riga cambia in relazione all'altezza della colonna più alta e non devo dare alcuna informazione sull'altezza ne alla tabella ne alle righe o alle colonne.
Ho provato a mettere un div contenitore, quindi il testo e un div con l'immagine es:
aaa.html
<html>
<head>
<link rel="stylesheet" type="text/css" href="aaa.css?1">
</head>
<body>
<div class="riga">
testo<div class="2colonna">[img]immagine.jpg[/img]</div>
<div>
<div class="riga">
testo2<div class="2colonna">[img]immagine2.jpg[/img]</div>
<div>
</body>
</html>
aaa.css
div.riga
{
float:left;
display:inline;
vertical-align:middle;
}
div.2colonna
{
display:inline;
}
ma niente... (p.s. scusate se scrivo cavolate)
ho provato a mettere position relative al div della riga e position absolute a un div che contiene il testo ma quando faccio top:50% si distanzia del 50% non dal blocco che lo contiene ma dal corpo della pagina:
aaa.html
<html>
<head>
<link rel="stylesheet" type="text/css" href="aaa.css?1">
</head>
<body>
<div class="riga">
<div class="colonna1">testo</div><div class="2colonna">[img]immagine.jpg[/img]</div>
<div>
<div class="riga">
<div class="colonna1">testo2</div><div class="2colonna">[img]immagine2.jpg[/img]</div>
<div>
</body>
</html>
aaa.css
div.riga
{
position:relative;
}
div.colonna1
{
float:left;
display:inline;
position:absolute;
top:50%
}
div.2colonna
{
display:inline;
}
un'altra prova che ho fatto:
aaa.html
<html>
<head>
<link rel="stylesheet" type="text/css" href="aaa.css?1">
</head>
<body>
<div class="riga">
<div class="colonna1">testo</div><div class="2colonna">[img]immagine.jpg[/img]</div>
<div>
<div class="riga">
<div class="colonna1">testo2</div><div class="2colonna">[img]immagine2.jpg[/img]</div>
<div>
</body>
</html>
aaa.css
div.riga
{
vertical-align:middle;
}
div.colonna1
{
float:left;
}
div.2colonna
{
float:left;
}
...ma nisba pure stavolta; non so più cosa inventarmi per favore aiutatemi
Penso uno dei problemi principali sia che il div con il testo non cresce in altezza rispetto al div che contiene l'immagine, quindi non può allinearmelo.


Rispondi quotando
.