Ik ben bezig met een site waarbij we gebruik maken van een liquid layout. Nu wil ik zoekresultaten tonen in een aantal blokjes welke dus ook "liquid" zijn; ze dienen zoveel mogelijk op 1 regel te passen en dan te wrappen naar de volgende "regel".
Nu loop ik tegen een stom probleem op dat ik even niet weet op te lossen; wellicht heb ik er te lang naar gestaard en is het uber simpel, maar ik zie het even niet (meer).
Eerst even een test-case:
Dit produceert het volgende resultaat:

Het blokje met de rode border is in principe "fixed" aan de rechterkant van de browser en dient gewoon te blijven staan. Zoals je ziet schuift resultaat 5 echter naar beneden toe i.p.v dat deze wrapped naar de volgende "regel". Ik wil dus het volgende bereiken:

Ik kan er wel een div/br/hr/whatever tussen knallen om de zoveel resultaten met een clear:left erop ofzo; maar dan is het niet meer "liquid". Ik wil namelijk dat gebruikers die een flinke resolutie draaien meer blokjes op een rij te zien krijgen (zolang dat past) maar het moet dus ten alle tijde wel netjes om het rode blokje heen "wrappen". Dat rode blokje kan overigens nog in hoogte variëren en kan dus meer dan 1 "regel" beslaan in een aantal gevallen.
Ik heb al wat zitten rommelen met wrappers e.d. maar ik kom er niet meer uit zonder allerlei hacks toe te gaan passen; iemand enig idee wat ik over het hoofd zie?
Nu loop ik tegen een stom probleem op dat ik even niet weet op te lossen; wellicht heb ik er te lang naar gestaard en is het uber simpel, maar ik zie het even niet (meer).
Eerst even een test-case:
HTML:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| <html> <head> <title>Testcase</title> <style> #wrapper { } #somediv { border : 1px solid red; width : 200px; height : 100px; float : right; margin : 2px 2px 10px 10px; } .result { border : 1px solid #666666; width : 150px; height : 150px; float : left; margin : 3px; padding : 3px; } </style> </head> <body> <div id="wrapper"> <div id="somediv"></div> <div class="result">result 1</div> <div class="result">result 2</div> <div class="result">result 3</div> <div class="result">result 4</div> <div class="result">result 5</div> <div class="result">result 6</div> <div class="result">result 7</div> <div class="result">result 8</div> <div class="result">result 9</div> <div class="result">result 10</div> <div class="result">result 11</div> <div class="result">result 12</div> <div class="result">result 13</div> <div class="result">result 14</div> </div> </body> </html> |
Dit produceert het volgende resultaat:

Het blokje met de rode border is in principe "fixed" aan de rechterkant van de browser en dient gewoon te blijven staan. Zoals je ziet schuift resultaat 5 echter naar beneden toe i.p.v dat deze wrapped naar de volgende "regel". Ik wil dus het volgende bereiken:

Ik kan er wel een div/br/hr/whatever tussen knallen om de zoveel resultaten met een clear:left erop ofzo; maar dan is het niet meer "liquid". Ik wil namelijk dat gebruikers die een flinke resolutie draaien meer blokjes op een rij te zien krijgen (zolang dat past) maar het moet dus ten alle tijde wel netjes om het rode blokje heen "wrappen". Dat rode blokje kan overigens nog in hoogte variëren en kan dus meer dan 1 "regel" beslaan in een aantal gevallen.
Ik heb al wat zitten rommelen met wrappers e.d. maar ik kom er niet meer uit zonder allerlei hacks toe te gaan passen; iemand enig idee wat ik over het hoofd zie?
[ Voor 5% gewijzigd door RobIII op 05-12-2006 11:00 ]
There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.
Je eigen tweaker.me redirect
Over mij