Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS]problem z wyrownaniem
Forum PHP.pl > Forum > Przedszkole
7furik7
Witam
mam problem i nawet nie wiem do końca czy chodzi o css
otóż:

chce zrobić takie wyrownanie tekstu ( tekst to ten po prawej ) i nie mam pomysłu, a raczej moje pomysły sie nie sprawdzają,
ostatecznie zapisze tekst w pliku graficznym i wyświetle obrazek (co myslicie o takim rozwiązaniu?)

pozdrawiam
z gory dziekuje.
b4rt3kk
Jeśli już musi tak być to ja bym to rozwiązał za pomocą php, masz ciąg znaków:

  1. $tekst = 'jakis tam tekst';
  2. $moment_przelamania = 10;
  3. $o_ile_znakow_kolejna_linia_krotsza = 2;
  4.  
  5. for ($i=0; $i<strlen($tekst); $i++) {
  6. echo $tekst[$i];
  7. if ($i==$moment_przelamania) { echo '<br/>'; $moment_przelamania = $moment_przelamania + ($moment_przelamania - $o_ile_znakow_kolejna_linia_krotsza); }
  8. }


i w css text-align: center; To tak w uproszczeniu.
7furik7
e-e to co napisałes działa tylko dla 2 pierwszych lini (10, 10+(10-2)=18, 18+(18-2)=34) poza tym przerywa w połowie słowa
ale wzorujac sie zrobniłem tak:
  1. $tekst = 'jakis tam tekst';
  2. $active_length=80;
  3. $next_line=80;
  4. for($i=0; $i<strlen($tekst); $i++){
  5. echo $tekst[$i];
  6. if($i==$active_length){
  7. echo '<br />';
  8. $next_line=$next_line-5;
  9. $active_length=$active_length+$next_line;
  10. }
  11. }

jednak pozozstaje problem urywania w srodku słowa


i kolejna wersja juz niby działa ale jakoś to nie wyglada...

  1. $tekst = 'jakis tam tekst ';
  2. $active_length=80;
  3. $next_line=80;
  4. for($i=0; $i<strlen($tekst); $i++){
  5. echo $tekst[$i];
  6. if($i>=$active_length){
  7. if($tekst[$i+1]==' ' || $tekst[$i]==' '){
  8. echo '<br />';
  9. $next_line=$next_line-5;
  10. $active_length=$active_length+$next_line;
  11. //echo " ($active_length.' - '.$next_line)";
  12. }
  13. }
  14. }
b4rt3kk
  1. $tekst = 'jakis tam tekst';
  2. $moment_przelamania = 10;
  3. $o_ile_znakow_kolejna_linia_krotsza = 2;
  4. $linia = 1;
  5. $dlugosc_wiersza = 0;
  6.  
  7. for ($i=0; $i<strlen($tekst); $i++) {
  8. echo $tekst[$i];
  9. if ($i==$moment_przelamania AND $tekst[$i]==' ') { echo '<br/>'; $moment_przelamania = $moment_przelamania + ($moment_przelamania - $o_ile_znakow_kolejna_linia_krotsza*$linia); $linia++; }
  10. $dlugosc_wiersza++;
  11. if ($dlugosc_wiersza>$moment_przelamania) $moment_przelamania = $dlugosc_wiersza;
  12. }


Poprawiona wersja. Łamie wiersz w miejscu spacji.
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.