Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][PHP]problem css
Forum PHP.pl > Forum > Przedszkole
Mastersieciweb
Witam mam problem z wyswietlaniem zdjec ktore wczytuje z serwera. Za pomocą CSS'a chciałbym umieścić je na mojej stronie tak zeby tworzyły tabele lub chociażby jedno pod drugim, a tymczasem nakładają mi się jedno na drugie i nie wiem jak to zmienić hm.. Problem jest też taki że na mojej stronie żeby zdjęcia nie kolidowały z nagłówkiem, tłem itp muszą mieć pozycje 'absolute' i nie wiem jak to połączyć.. to mój kod który umiejscawia mi zjęcia na stronie, niestety jedno na drugim bo wszystkie zdjęcia zaczyna pozycjonować od tej samej wartości..

  1. <?php
  2. function wyswietlanie_zdjec_uzytkownika2(){
  3.  
  4.  
  5. $d = dir('../zdjecia/'.$_SESSION['prawid_uzyt'].'/');
  6.  
  7. while (false !== ($entry = $d->read())) {
  8. ?>
  9. <div id="zdj">
  10. <?php
  11. echo '<img src="../zdjecia/'.$_SESSION['prawid_uzyt'].'/'.$entry.'"/><br />';
  12. ?>
  13. </div>
  14. #zdj{position:absolute; margin-top:300px; margin-left:200px; }
  15. </style>
  16. <?php
  17. }
  18. $d->close();
  19.  
  20.  
  21. }
  22. ?>
  23.  
  24.  
Mega_88
  1. #zdj{position:absolute; margin-top:300px; margin-left:200px; }


poczytaj o position: w css, zmień fragment kodu na to co poniżej i zobacz co się stanie:

  1. .zdj{float:left;margin-top:300px; margin-left:200px; }


i nie <div id="zdj"> tylko <div class="zdj">


EDIT:

Nie doczytałem, ale uwaga odnośnie div id a div class aktualna.

Możesz na przykład co jeden wynik z pętli do margin-left dodawać 220px i wtedy pierwsze będzie 220 drugie 440 i tak dalej

$licz++
Turson
Nie używaj pozycji absolutnej tam gdzie nie ma potrzeby. Dla img nadaj styl display:block
Mastersieciweb
tez tak własnie myślałem tylko jak umieścic kod php w CSS'ie?.. bo to nie działa:

  1.  
  2. <?php
  3. function wyswietlanie_zdjec_uzytkownika2(){
  4.  
  5.  
  6. $d = dir('../zdjecia/'.$_SESSION['prawid_uzyt'].'/');
  7. $k=1;
  8. while (false !== ($entry = $d->read())) {
  9. $k++;
  10. $kk=$k*100;
  11. ?>
  12. <div class="zdj">
  13.  
  14.  
  15. <?php
  16. echo '<img src="../zdjecia/'.$_SESSION['prawid_uzyt'].'/'.$entry.'"/><br />';
  17. ?>
  18. </div>
  19. .zdj{position:absolute; margin-top:300+<?php $kk ?>+px; margin-left:200px; }
  20. </style>
  21. <?php
  22. }
  23. $d->close();
  24.  
  25.  
  26. }
  27. ?>
  28.  
  29.  
  30.  
IProSoft
Nie

  1. 300+<?php $kk ?>+


a

  1. <?php echo ( $kk + 300 ) ?>
Turson
nie
<style>
.zdj{position:absolute; margin-top:300+<?php $kk ?>+px; margin-left:200px; }
</style>

ale bezposrednio w <img style=
Mastersieciweb
nie moge tego zrobic.. próbuje tak:

  1. <?php
  2. function wyswietlanie_zdjec_uzytkownika2(){
  3.  
  4.  
  5. $d = dir('../zdjecia/'.$_SESSION['prawid_uzyt'].'/');
  6. $k=1;
  7. while (false !== ($entry = $d->read())) {
  8. $k++;
  9. $kk=$k*100;
  10.  
  11.  
  12. echo '<img src="../zdjecia/'.$_SESSION['prawid_uzyt'].'/'.$entry.'" style="position:absolute; margin-top:300+'.$kk.'+px"/>';
  13.  
  14.  
  15.  
  16.  
  17. }
  18. $d->close();
  19.  
  20.  
  21. }
  22. ?>
  23.  

ta zmienna $kk chyba nie działa jak bym chciał.. albo źle zapisałem.. co mówicie o tym...
Turson
Kliknij prawym przyciskiem myszy na zdjęcie i 'Zbadaj element'. Zobacz, że styl jest zły, mianowicie: style="margin-top:300+'.$kk.'+px"/>';
+px ? smile.gif dodać masz w PHP. Aktualnie to daje ci coś w deseń: margin-top:300+10+px
Mastersieciweb
tylko pokazuje mi position:absolute teraz a co do margin-top to nie ma w ogóle..wink.gif

to jak to w końcu dodaćsmile.gif
Turson
  1. $margin = 300+$kk;
  2. echo '<img src="../zdjecia/'.$_SESSION['prawid_uzyt'].'/'.$entry.'" style="display:block;margin-top:'.$margin.'px"/>';
Mastersieciweb
aaa już jest dobrze:) dziękuje:)

mam jeszcze pytanie, na mojej stronie wszystko ładnie wyswietla jak chciałem, zdjęcia ustwia tak jak chciałem ale ten kod tworzy mi jedno zdjecie nieistniejące przed moimi prawdziwymi i jedno nieistniejące po moich zdjęciach.. czyli powiedzmy mam 5 zdjęć na serwerze a wyświetla mi dwa 'puste' dodatkowo które nie istnieją, co powoduje że to brzydko wygląda.. jak się tego pozbyć?..oto kod:

  1.  
  2. function wyswietlanie_zdjec_uzytkownika2(){
  3.  
  4.  
  5. $d = dir('../zdjecia/'.$_SESSION['prawid_uzyt'].'/');
  6. $k=0;
  7. $ke=0;
  8. $wys=190;
  9. while (false !== ($entry = $d->read())) {
  10.  
  11.  
  12. $margin =$ke;
  13. echo '<img src="../zdjecia/'.$_SESSION['prawid_uzyt'].'/'.$entry.'"
  14. style="position:absolute;
  15. margin-top:'.$wys.'px;
  16. width:180px;
  17. margin-left:'.$margin.'px"/>';
  18.  
  19.  
  20. $k++;
  21. $ke=200*$k;
  22.  
  23.  
  24.  
  25.  
  26. if ($margin>700){
  27. $ke=0;
  28. $k=0;
  29. $wys=$wys+190;}
  30.  
  31.  
  32.  
  33. }
  34. $d->close();
  35. ko
  36.  
  37. }
  38. ?>
  39.  


ten 'if' zrobiłem po to żeby obrazki wyswietlało w następnej linii, na moje stronie mieszcza się tylko cztery zdjęcia, a potem ustawiam je pod nimi od początku żeby wyświetlały się tworząc taką 'tabelke' podobnie jak w googlach(grafice) wyswietlają się zdjęcia, tylko tutaj mniej skomplikowanie bo prawdopodobnie jak ktoś doda zdjęcie co jest bardzo wysokie to wejdzie na to co jest pod spodem, póki co chce usunąć te dwa puste.. Na serwerze patrzyłem..tylko są zdjęcia, nic więcej np 5 zdjęć, a na stronie wyświetla 7 plików.. nie wiem dlaczego tworzy dwa nieistnijące o tej samej wielkości obrazki, puste do których nawet dostępu nie ma ale parametry mają według mojej funkcjii
Turson
Wrzucaj PHP w BBCode PHP bo się tego czytać nie da.
Może obrazka nie znaleziono na serwerze i dlatego nie wczytuje.
Po co ten if na końcu?
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.