18. 01. 2008. | #1 |
Knowledge base
Wrote a book
Datum učlanjenja: 16.06.2005
Lokacija: Novi Sad
Poruke: 1.437
Hvala: 37
131 "Hvala" u 82 poruka
|
CSS floatovanje text boxova
Treba da napravim da se kraci blokovi teksta (vesti) prikazuju u 2 kolone.
Trenutno se vesti podele u 2 kolone, pa recimo za 6 vesti imamo po 3 vesti u levoj i desnoj koloni, ali se desava da je jedna kolona znacajno duza od druge (zbog duzine samih vesti), pa se napravi "rupa" u toj drugoj koloni. Meni treba da se ti tekst boxovi floatuju u zavisnosti od duzine teksta, s leva nadesno, i popunjava prazan prostor. U attachmentu saljem primer kako treba to da izgleda. Probao sam neke CSS float varijante, ali ne mogu da postignem to sto zelim. Zna li neko resenje?
__________________
Năo quero mais seguir um só caminho |
18. 01. 2008. | #2 |
Ivan Dilber
Sir Write-a-Lot
|
eh, ovo me zaitrigiralo, pa sam ti sklepao jedno unobtrusive JS resenje (ako nema JS-a svi boxovi ce da budu floatovani na levo, as usual):
HTML kôd:
<!doctype html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript" src="jquery-latest.js"></script> <style type="text/css"> #wrap { position:relative; width:400px } #wrap div { float:left; width:49%; border:1px solid red; margin-bottom:5px; } #wrap div.colB { float:right; border:1px solid blue; } </style> <script type="text/javascript"> /** * Optimize vertical space for 2 column layout * @author: Ivan Dilber (aka ivanhoe) */ $(function(){ var gHeightA=0, gHeightB = 0; // ovo je closure, nisu globalne promenjive $('#wrap div').each( function() { var box = $(this); if(gHeightA > gHeightB) gHeightB += box.addClass('colB').height(); else gHeightA += box.height(); }); }); </script> </head> <body> <div style="" id="wrap"> <!-- some random boxes --> <div style="height:100px">1</div> <div style="height:200px">2</div> <div style="height:50px">3</div> <div style="height:450px">4</div> <div style="height:50px">5</div> <div style="height:150px;">6</div> <div style="height:50px">7</div> <div style="height:100px">8</div> </div> </body> </html> EDIT: Sad sam isprobao na IE6, FF2 i Operi9 i lepo radi. Ajd nek neko pls. proba na Safariju, pa javite dal radi ?
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 18. 01. 2008. u 17:34. |
"Hvala" ivanhoe za poruku: |
18. 01. 2008. | #3 |
Knowledge base
Wrote a book
Datum učlanjenja: 16.06.2005
Lokacija: Novi Sad
Poruke: 1.437
Hvala: 37
131 "Hvala" u 82 poruka
|
Majstore
Inace, na projektu se vec koristi jQuery, tako da je to elegantno resenje. Mada, mislio sam da postoji neki CSS hack za ovo, ali ako stvarno nema, ovo ce posluziti. Hvala jos jednom!
__________________
Năo quero mais seguir um só caminho |
18. 01. 2008. | #4 |
old school
Professional
Datum učlanjenja: 07.02.2006
Poruke: 340
Hvala: 32
44 "Hvala" u 20 poruka
|
|
19. 01. 2008. | #5 |
Ivan Dilber
Sir Write-a-Lot
|
UPDATE: Moreno je pronasao da u nekim situacijama kad se poklope visine postoji CSS bug da se boxovi "zaglave", ne rasporede se lepo... evo izmenjena verzija koja to resava (dodat je samo clear:left/right koji spreci ovo):
HTML kôd:
<style type="text/css"> #wrap { position:relative; width:400px } #wrap div { float:left; width:49%; border:1px solid red; margin-bottom:5px; } #wrap div.colB { float:right; border:1px solid blue; clear:right; /* <------------- OVO JE DODATO */ } </style> <script type="text/javascript"> /** * Optimize vertical space for 2 column layout * @author: Ivan Dilber (aka ivanhoe) */ $(function(){ var gHeightA=0, gHeightB = 0; $('#wrap div').each( function() { if(gHeightA > gHeightB) gHeightB += $(this).addClass('colB').height(); else gHeightA += $(this).css('clear','left').height(); // <-- ovde je dodato clear:left }); }); </script>
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 19. 01. 2008. u 03:19. |
"Hvala" ivanhoe za poruku: |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Selectable text in button | Mitrović Srđan | Sva početnička pitanja | 4 | 17. 03. 2010. 16:29 |
Boolean full-text search | ivanhoe | SQL baze podataka - Sponzor: Baze-Podataka.net | 4 | 03. 06. 2009. 01:35 |
[VB.NET][C#] Multicolor text u datagridview | Marcus | Programiranje | 9 | 11. 05. 2009. 22:14 |
Text preko slike u CSS-u | PeTkO | Sva početnička pitanja | 7 | 23. 06. 2008. 15:07 |
text to speech | mit01 | Web aplikacije, web servisi i software | 2 | 18. 04. 2007. 22:45 |