ugrás a tartalomhoz

Hosszú szó több sorba törése

Garono · 2008. Aug. 15. (P), 22.40
Sziasztok! Régóta nem írtam már ide, de sajnos akadt egy problémám.

Van egy DIV-em, ami fix szélességű (mondjuk 200px) (illetve még van egy display:block tulajdonsága). Azonban a tartalmát dinamikusan kapja egy PHP rendszertől, és előfordul, hogy egy szó hosszabb, mint ami kiférne 200 pixelen, így túllóg az adott szó, és szétbarmolja az oldalt. Nincs valami CSS megoldás a dologra, hogy a hosszú szavakat több sorba írja ki? Kerestem, de nem találtam semmit. :(
 
1

css: overflow, php: word_wrap

Thom · 2008. Aug. 15. (P), 23.01
CSS-ben csak az overflow jut eszembe erre, bár ez nem több sorba töri -
de PHP-ban előre is feldarabolhatod a túl hosszú szavakat, pl. ezzel:
http://hu.php.net/manual/en/function.wordwrap.php
4

nekem sosem működött..

Szekeres Gergő · 2008. Aug. 16. (Szo), 18.14
..a wordwrap. amúgy az egésszel a legnagyobb szívás az, hogy míg pl "i"-ből kifér 150db, addig "W"-ből csak 50, így egy normális függvényít írni erre szerintem lehetetlen, vagy legalábbis óriási munka. Én annyit szoktam csinálni, hogy figyelem, hogy n-nél (általában 80, ennél hosszabb értelmes szó nem nagyon van) hosszabb szavakba n után rakok egy spacet, így a böngésző be tudja törni két sorba. vagy egyszerüen megadok a divnek egy fix szélességet, majd overflow:hidden tulajdonsággal eltüntetem a kilogó részeket.
6

azér nem annyira

vbence · 2008. Aug. 16. (Szo), 20.34
Kliensoldalon nagyon egszerűen megoldható (elkezdesz írogatni egy divbe, és kiolvasod a szélességét). Szerveroldalon is megoldható lenne, ha mindenki ugynaazta fontot használná,
2

Köszi

Garono · 2008. Aug. 15. (P), 23.16
Köszi, az overflow-ot mindenhogyan próbáltam már, meg a max-width-et is, de sehogy sem jó.

A PHP-s tippet köszi, azt hiszem ez lesz a megoldás. :)
3

overflow

Thom · 2008. Aug. 16. (Szo), 12.23
Miért, hogy próbáltad?

<div style="border:1px solid red;width:100px;overflow-x:auto">
aaa ezegymagyonhosszúszóóóóóóóó aaa
</div>
A doboz nem csúszik szét, lesz benne vízszintes scroll, ha szükséges. Nem ez kell?

És egyébként helyzettől függően választanék a két megoldás között, de folyó szövegek kiírásánál ezt PHP-vel szokás megoldani. Csak ott meg azt a helyzetet kell lekezelned, ha pl. egy <A> tag href paramétere túl hosszú - azt ugye nem illik eltörni - de vannak még hasonló kivételek. (és ezt nem tanácsos elsumákolni, mert a használat közben bele fogsz futni ;)
Erre én is szívesen megnéznék egy csinos REGEX-et (ahol kellett, megoldottam magamnak, de nem szépen)
5

re: overflow

Garono · 2008. Aug. 16. (Szo), 20.17
Csak egyáltalán nem akarok scrollbart. :)

A wordwrap-pel oldottam meg, ha valaki URL-t ír bele, az nem nem lesz egyben ugyan, de sikerült nagy nehezen, amit akartam. Elválasztókarakternek egy üres space-t adtam meg, így ha egy HTML taget kell több sorba törni, akkor az sem probléma.