Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak zmusić tekst aby nie przekraczał height?
Grzesiek1
post 24.09.2008, 16:19:12
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 5.02.2007

Ostrzeżenie: (0%)
-----


Jak określić height dla tekstu, po przekroczeniu wymusić przejście do nowej kolumny
Próbowałem coś tak
Kod
<div style="border:1px solid black;height:47px;overflow:hidden;">
    1tekst<br/>
    2tekst<br/>
    3tekst<br/>
    4tekst<br/>
    5tekst<br/>
    6tekst<br/>
    7tekst<br/>
</div>

ale efekt to tylko ucięcie, czyli tak jak w specyfice overflow

Chodzi o to żeby efekt był taki jak przy takim kodzie
Kod
<div style="border:1px solid black;width:100%;">
    <div style="height:47px;float:left;">
        1tekst<br/>
        2tekst
    </div>
    <div style="height:47px;float:left;">
        3tekst<br/>
        4tekst
    </div>
    <div style="height:47px;float:left;">
        5tekst<br/>
        6tekst
    </div>
    <div style="height:47px;float:left;">
        7tekst
    </div>
</div>

Ten sposób mi nie pasuje, bo potrzebuje aby wszystko było w jednym DIV

Ten post edytował Grzesiek1 26.09.2008, 13:24:57
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sowiq
post 26.09.2008, 13:14:48
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


@GrayHat,
przeczytałeś pierwszego posta? Autor napisał, że overflow się nie nadaje. Nie do tego. Tu mają być kolumny a nie scroll.


@Autor,
Masz jedno, niezbyt skomplikowane wyjście, ale do uzuskania efektu potrzeby jest JS.

Robisz sobie coś takiego:
Kod
<div style="width: 300px; height: 200px; overflow: hidden;">
    <div style="width: 100px; float: left;"></div>
    <div style="width: 100px; float: left;"></div>
    <div style="width: 100px; float: left;"></div>
</div>


I teraz pakujesz treść do pierwszego div'a. Sprawdzasz, czy jego wysokość (offsetHeight - JS) jest większa niż podane 200px. Jeśli tak, to kopiujesz jego zawartość (innerHTML - JS) do drugiego diva, ale temu drugiemu nadajesz scrollTop = 200px (+/- kilka px na wysokość linii, żeby nic nie wystawało smile.gif ). Czyli nie robisz nic innego, tylko wstawiasz dwa div'y obok siebie, ale jeden przesuwasz w górę i wygląda to jak dwie kolumny. Analogicznie robisz z trzecim.

Nie wiem czy jest to najlepszy sposób, ale powinien działać na każdej przeglądarce.

Ten post edytował sowiq 26.09.2008, 13:16:27
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 17.06.2025 - 19:19