Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] centrowanie zdjęcia w divie
shpaque
post
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


witam serdecznie,
powracam z pytaniem odnośnie środkowania zdjęcia w divie. Moja strona: http://www.olimpialublin.pl

na stronie głównej pod zdjęciem pływaków są 4 zdjęcia aktualności, które po najechaniu myszą się trochę powiększają. Problem w tym, że powiększają się jak widać od lewego górnego rogu (tak są też wyświetlane) - jak zrobić aby zarówno wyświetlane jak i powiększane były w centrum? Tak jak na: http://fluidagency.pl/ - na dole strony
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




A jaki to ma związek z PHP? Przenoszę.


--------------------
Go to the top of the page
+Quote Post
shpaque
post
Post #3





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


a taki że obrazki są pobierane i wyświetlane w php (ze zmiennych) i nie jest to byle jakie img src stałych wymiarów
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #4





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




To dodaj jeszcze tag [english], bo nazwy zmiennych są w języku angielskim. facepalmxd.gif


--------------------
Go to the top of the page
+Quote Post
shpaque
post
Post #5





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


nie o to chodzi, kiedyś jak tego szukałem to znalazłem gdzieś, że najpierw trzeba napisać skrypt, który pobierze rozbiar obrazka, poxniej jakos go centrowac wlasnie w php - stad moje zasugerowanie się znacznikiem php przy zakładaniu tematu...

i jak zwykle będziemy traktować tu o sprawach nie związanych z tematem, a chciałbym się w końcu dowiedzieć na jakiej zasadzie to działa... I nie zdziwię się jednak jeśli wszystko ogarnąć trzeba będzie właśnie w P H P...

Generalnie moje zapytanie jest odnośnie sposobu.

Mam określoną wysokość zdjęcia (stałą); szerokość dopasowywana jest automatycznie. Jak teraz zrobić, żeby obrazek był center/middle i tak samo się zoomował?
Go to the top of the page
+Quote Post
kujol
post
Post #6





Grupa: Zarejestrowani
Postów: 324
Pomógł: 27
Dołączył: 21.07.2013

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


W css dla diva, w którym mają być wyśrodkowane zdjęcia nadaj text-align: center;


--------------------
;)
Go to the top of the page
+Quote Post
ghost1511
post
Post #7





Grupa: Zarejestrowani
Postów: 186
Pomógł: 18
Dołączył: 2.09.2010

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


Na moje to nie php tylko javascript. Z tego co podejrzałem w narzędziach developerskich zmienia się wielkość obrazka który daje efekt zoomu. Reszta pewnie za pomocą overflow.
Go to the top of the page
+Quote Post
shpaque
post
Post #8





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


nie, to nie o to chodzi.

oto kod:

JS
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3. $('#zoom1').hover(function(){
  4. $(this).find('img').stop().animate({"height": 260}, 200);
  5. }, function(){
  6. $(this).find('img').stop().animate({"height": 236}, 500);
  7. });
  8. });
  9. </script>


i PHP
  1. <div id='zoom1' style='width:236px;height:230px;overflow:hidden;'>
  2. <?
  3. $dates = array();
  4. $photos = array();
  5. $titles = array();
  6. $opiss = array();
  7. $database = "./db/actuals.db";
  8. $items = file($database);
  9. $last = count($items)-1;
  10.  
  11. for($i = $last; $i > $last - 1; $i--) {
  12. list($date, $photo, $title, $opis) = explode('|', $items[$i]);
  13. $dates[$count] = $date;
  14. $photos[$count] = $photo;
  15. $titles[$count] = $title;
  16. $opiss[$count] = $opis;
  17.  
  18. echo "<a href=./db/aktualnosci/".$photos[$count]." rel='fancy' title='".$titles[$count]."'><img src=./db/aktualnosci/".$photos[$count]." height='230px' border='0px' title='Zobacz większe zdjęcie...'></a>";
  19. }
  20. ?>
  21. </div>
Go to the top of the page
+Quote Post
ghost1511
post
Post #9





Grupa: Zarejestrowani
Postów: 186
Pomógł: 18
Dołączył: 2.09.2010

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


No to musisz jeszcze zmieniać left i top przy okazji animacji jeżeli chcesz otrzymać efekt od środka wink.gif

edit:
Wydaje mi się że na każde 2px powiększenia musisz odejmować 1px left i top wink.gif Mam nadzieję że jasno napisałem wink.gif

Ten post edytował ghost1511 6.03.2014, 08:05:14
Go to the top of the page
+Quote Post
shpaque
post
Post #10





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


no właśnie, ale nie będzie on stały, bo jedno zdjęcie może mieć 1000x500, a inne 1300x1000 i co wtedy?

@edit

czyli powiększenie jest o 26px więc powinienem dać left -13 i top -13?

a co z wyświetleniem zdjęcia centralnie? (przed hoverem)
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No ale w czym problem? Mechanizm jak to ma dzialac znasz, wiec o co pytasz?

Najlepiej, byś obrazki miał stałych wymiarow, nie bedziesz musial się bawić dynamiczne ich dopasowywanie, tak jak to jest na przykladowej stronie. Tam obrazki są stalych wymiarow i wszystko jest banalne.


Jesli sie upierasz, ze nadal chcesz miec rozne rozmiary, to nadal nie wiem w czym problem.
Funkcja http://pl1.php.net/manual/en/function.getimagesize.php zwraca ci rozmiar obrazka. Masz wiec wszystkie dane.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ghost1511
post
Post #12





Grupa: Zarejestrowani
Postów: 186
Pomógł: 18
Dołączył: 2.09.2010

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


Przecież wysokość i szerokość możesz pobrać za pomocą js. Trochę matematyki, znaleźć wzór i powinno działać wink.gif

edit:
Tak po dłuższym zastanowieniu to wysokości nawet nie potrzebujesz, jeżeli będziesz poszerzał o 2 px to wysokość też o 2px wzrośnie. Wysokość obrazka nie będzie miała znaczenia.

Ten post edytował ghost1511 6.03.2014, 08:16:58
Go to the top of the page
+Quote Post
shpaque
post
Post #13





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


#Nospor

No własnie to kiedyś gdzieś czytałem - niestety stałych obrazków nie da rady zrobić, bo te aktualności są na panelu a ja przecież nie będę codziennie wchodził i poprawiał zdjęć wrzuconych przez pracowników klubu...

czyli co trzeba zrobić:
- get image size pobierze jak wiadomo rozmiar.
- ten rozmiar bede musial podzielic / przeskalować tak, żeby wyszło mi height=236 i width odpowiednie (czy dopiero tutaj pobierać height?)
- mając już rozmiar jak go wycentrować? (załóżmy że wyszło 390x236; jak określić pozycję środka?)

Cytat(ghost1511 @ 6.03.2014, 08:08:49 ) *
Tak po dłuższym zastanowieniu to wysokości nawet nie potrzebujesz, jeżeli będziesz poszerzał o 2 px to wysokość też o 2px wzrośnie. Wysokość obrazka nie będzie miała znaczenia.


czyli mam rozumieć, że php w ogóle nie ruszać? nie pobierać rozmiaru?
Go to the top of the page
+Quote Post
nospor
post
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Jesli obrazki beda mialy taką samą wysokosc co szerokosc to tak, ale jak nie, to by to ladnie wygladalo musisz wysokosc zwieksszac nie tyle samo co szerokosc ale przy zachowania calego wspolczynnika wysokosc/szerokosc.
Dokladnie tak jest na stronie co podales i wszystko ladnie dziala.
I tak, nie musisz w to mieszac php, bo jak juz wspomniano, wymiary obrazka pobierzesz tez bez problemu w js


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
ghost1511
post
Post #15





Grupa: Zarejestrowani
Postów: 186
Pomógł: 18
Dołączył: 2.09.2010

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


Cytat(nospor @ 6.03.2014, 08:44:55 ) *
Jesli obrazki beda mialy taką samą wysokosc co szerokosc to tak, ale jak nie, to by to ladnie wygladalo musisz wysokosc zwieksszac nie tyle samo co szerokosc ale przy zachowania calego wspolczynnika wysokosc/szerokosc.


Faktycznie facepalmxd.gif

Cytat(shpaque @ 6.03.2014, 08:37:58 ) *
czyli mam rozumieć, że php w ogóle nie ruszać? nie pobierać rozmiaru?


Na moje do niczego to nie potrzebne. JS i CSS załatwią sprawę wink.gif

Ten post edytował ghost1511 6.03.2014, 08:58:01
Go to the top of the page
+Quote Post
shpaque
post
Post #16





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Cytat(nospor @ 6.03.2014, 08:44:55 ) *
Dokladnie tak jest na stronie co podales i wszystko ladnie dziala.


no właśnie - zauważyłem, że pewnie te ustawienia są wpisane w klasie "img" na stronie Fluid Agency - tylko nie mogę znaleźć u nich na stronie tej klasy - może ktoś czający mógłby mi to wyciągnąć i wkleić tutaj jak oni mają zrobione?
Go to the top of the page
+Quote Post
nospor
post
Post #17





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Jakie ustawienia? Jaka klasa? Oni to wszystko mają w czystym js
Kod
            $('.tab').each(
                    function(i,content){
                        $(content).hover(
                                function(){$(this).find('img').stop().animate({width:298,height:118,left:'-23px',top:'-29,5px'},{duration:200});
                                },
                                function(){
                                    $(this).find('img').delay(300).stop().animate({width:239,height:95,left:0,top:0},{duration:200});    
                                }
                        );
                    }
            );

Tylko u nich jest latwiej, bo mają stale wartosci. Ty niestety musisz wpierw dla danego obrazka wszystko wyliczyc


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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 Aktualny czas: 21.08.2025 - 12:28