Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML][CSS] overflow:hidden przy danym height
Forum PHP.pl > Forum > Przedszkole
kto$
Borykam się z następującym problemem. Mam diva, który jest wypełniany przez zapytanie bazodanowe tekstem. Niekiedy wysokość tego diva sięga ok 800px.
Zrobiłem więc prosty system w jQuery show/hide, który wyświetla pierwsze 300px wysokości diva i po kliknięciu na "więcej" div zmienia wysokość na auto/100%.
Wszystko działa jak należy, jednak klientowi nie podoba się rozwiązanie z overflow:hidden, bo przycina u niego ostatnią linijkę przed rozsunięciem reszty tekstu.

Czy jest jakieś rozwiązanie, o którym jeszcze nie wiem, które jest w stanie określić wysokość/ wybrać wysokość <= 300px, tak żeby te linijki wierszy nie były przycięte jak przy overflow:hidden? Domyślam się, że to też przez jQuery, ale w tej tematyce jeszcze raczej raczkuję, więc proszę o rady które mogłyby mnie naprowadzić na rozwiązanie.

Dzięki za rady
prowseed
  1. <p>tutaj krotki tekst</p>
  2. <p class="toggle">tutaj reszta</p>
  3. <div class="toggleplaceholder"></div>


  1. $('.toggle').next().append('<a href="#" class="button">Pokaż / ukryj</a>');
  2. $('.toggle').hide();
  3. $('a.button').click(function() {
  4. $(this).parent().prev('.toggle').toggle('slow');
  5. return false;
  6. });


to tak najproście. Tekst sobie możesz dzielić w php albo od razu wprowadzac do bazy jako zalążek i reszta.
kto$
Cytat(prowseed @ 1.03.2012, 00:07:19 ) *
to tak najproście. Tekst sobie możesz dzielić w php albo od razu wprowadzac do bazy jako zalążek i reszta.



Też tak na początku myślałem, ale jest pewne ale. Oczywiście mogę ustawić, że pobiera 496 znaków ciągu i wstawia go do pierwszego diva, a resztę pakuje do tego chowanego przez toogle. Problemem jest to, że ten tekst jest generowany przez klienta w ckeditor, gdzie wszystkie znaczniki (<p>, <br />, <strong> etc.) są przekazywane w tym ciągu znaków. Dlatego to rozwiązanie, które zaproponowałeś wyżej nie sprawdzi się za bardzo.
Sam to zrobiłem przez animate, tylko właśnie chodzi o to, żeby określić wysokość zbieżną do 300 px, tak żeby tekst nie był poprzycinany, jak to mamy przy overflow:hidden.

Pozdrawiam
prowseed
no to ustaw sobie line-height w css na jakas stala, na przyklad 16px, a pozniej jesli chcesz sobie zostawic 4 linijki to 16px•4 [64px], jesli 8 linijek to 16px•8 [128px]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.