Ik zit met de volgende gewenste layout, waar ik maar ten dele uitkom. Wat ik wil bereiken is het volgende:
Op zich zijn dat gewone thumbnail blokjes. plaatje, met een stukje tekst eronder. Meerdere kunnen naast elkaar komen, en als het niet meer in de breedte past gaat het naar de volgende rij.
Het probleem is echter dat ik geen vaste waardes heb waar ik van uit kan gaan, en dat 1 rij met thumbs gecentreerd moet staan in een bredere container, ala:
Het ziet er oersimpel uit, maar er zitten een paar flinke problemen aan. Er zijn dus geen vaste waardes; images kunnen van maat verschillen, en de tekst van lengte. De tekst moet eigenlijk wrappen op de breedte van de image. Maar zonder verdere styles/afmetingen/breedtes zal de text gewoon zoveel mogelijk op 1 regel proberen te proppen en juist niet gaan wrappen.
Ook werkt margin auto niet zomaar op block elementen, die rekken immers uit naar 100% en ik kan geen breedte opgeven. Een table display zou het wel kunnen, maar floats vallen eigenlijk af, aangezien die niet centreren.
De tekst eronder moet dus om goed te wrappen dezelfde breedte krijgen als de image. Ik heb dus nu een aantal consessies gedaan waardoor het op zich werkt in IE en Firefox:
De testcase ziet er zo uit:
en de css:
en met verschillende tekst lengtes is dat geen gezicht (table-layout:fixed; helpt niet). iemand een idee of eerdere ervaring hiermee?
code:
1
2
3
4
5
6
| |---------| |---------| |---------| | |-----| | | |-----| | | |-----| | | | img | | | | img | | | | img | | | |-----| | | |-----| | | |-----| | | txt | | txt | | txt | |---------| |---------| |---------| |
Op zich zijn dat gewone thumbnail blokjes. plaatje, met een stukje tekst eronder. Meerdere kunnen naast elkaar komen, en als het niet meer in de breedte past gaat het naar de volgende rij.
Het probleem is echter dat ik geen vaste waardes heb waar ik van uit kan gaan, en dat 1 rij met thumbs gecentreerd moet staan in een bredere container, ala:
code:
1
2
3
4
5
6
7
8
| |---------| |---------| |---------|
| |-----| | | |-----| | | |-----| |
auto | | img | | | | img | | | | img | | auto
margin | |-----| | | |-----| | | |-----| | margin
| txt | | txt | | txt |
|---------| | txt | |---------|
| txt |
|---------| |
Het ziet er oersimpel uit, maar er zitten een paar flinke problemen aan. Er zijn dus geen vaste waardes; images kunnen van maat verschillen, en de tekst van lengte. De tekst moet eigenlijk wrappen op de breedte van de image. Maar zonder verdere styles/afmetingen/breedtes zal de text gewoon zoveel mogelijk op 1 regel proberen te proppen en juist niet gaan wrappen.
Ook werkt margin auto niet zomaar op block elementen, die rekken immers uit naar 100% en ik kan geen breedte opgeven. Een table display zou het wel kunnen, maar floats vallen eigenlijk af, aangezien die niet centreren.
De tekst eronder moet dus om goed te wrappen dezelfde breedte krijgen als de image. Ik heb dus nu een aantal consessies gedaan waardoor het op zich werkt in IE en Firefox:
- Het zit in een table
anders geen table display gedrag in IE. Vanzelf naar de volgende rij springen gaat dus al niet meer. - width voor de tekst staat voor IE met een expression op de breedte van de image, en voor moz staat de max-width op 100%.
De testcase ziet er zo uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <div class="content">
<table class="gallery">
<tr>
<td>
[img]"fiets"[/img]
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
</td>
<td>
[img]"fiets"[/img]
<p>Lorem ipsum dolor sit amet, ...</p>
</td>
<td>
[img]"fiets"[/img]
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
</td>
</tr>
</table>
</div> |
en de css:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| .content {
width:600px;
border:1px solid gray;
}
.gallery {
margin:0 auto;
border-collapse:collapse;
}
.gallery td {
vertical-align:top;
padding:5px;
}
.gallery img {
display:block;
/* broken image ff grootte geven */
width:120px;
height:120px;
}
.gallery p {
font:11px arial;
width:expression(this.parentNode.firstChild.offsetWidth);
max-width:100%;
padding:5px 5px 10px 0;
margin:0;
} |
en met verschillende tekst lengtes is dat geen gezicht (table-layout:fixed; helpt niet). iemand een idee of eerdere ervaring hiermee?
Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin