Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [html] tlo w div'ie
Forum PHP.pl > Forum > Przedszkole
piasekps
Czesc

Mozecie mi powiedziec czy da sie jakos zrobic, aby wrzucany obrazek w tlo div'a
rozciagal sie/skalowal sie do rozmiarów div'a w ktorego sie laduje?
obecnie to aby wypelnic miejsce w div'ie background-image powiela sie az uzupelni
calkowicie powierzchnie div'a

Z gory dziekuje za wszelkie sugestie
Pozdrawiam P.S.
tommy4
Zapewne nie znasz wymiarów tego diva. Musiałbyś przez javascript (który pobiera wysokość i szerokość diva) załadować obrazek z serwera z pliku php, który pobiera w $_GET wysokość i szerokość następnie skaluje obrazek i go zwraca, dzięki czemu ustawiasz go w tle znowu przez javascript.

Możesz także ustawić tło jako zwykły obrazek, a pomyśleć trochę nad pozycjonowaniem drugiego diva z z-indexem większym od tego, który ma tło.
misiek172
niewiem czy da sie to zrobic w czystym w CSS ale moze poprostu jako tło diva daj:

background-image: url('skrypt_skalujacy_obrazek.php?nazwa=nazwa_obrazka&x=dlugosc_diva&y=wysokosc_diva');

przy wywołaniu plik on sie wykona, a w nim skalujesz sobie dany obrazek i wypluwasz JPG
piasekps
ok umiescilem skrypt skalujacy obrazek w osobnym pliku 'resizeImage.php'
1.) czy szerokosc i wysokosc div'a pobrane poprzez

  1. var wysokosc = document.getElementById('cale').offsetHeight
  2. var szerokosc = document.getElementById('cale').offsetWidth


moge umiescic w kodzie php tylko poprzez window.location ?

2.) w jaki sposob najlepiej zrobic to jesli mam kilka div'ow generowanych
poprzez petle for

oto jak wyglada kod

plik glowny.php
  1. <center>
  2. <?php
  3.  echo '<object data="firmy/okno.php?woj='.$name.'" type="text/html"height='.$h.' width=85% style="padding-top:30px;">Twoja przeglądarka nie obsługuje polecenia Object</object>';
  4. ?>
  5.  </center>


plik okno.php
  1. ?>  
  2. <center>
  3. <script type="text/javascript">
  4. var wysokosc = document.getElementById('cale').offsetHeight
  5. var szerokosc = document.getElementById('cale').offsetWidth
  6. window.location="okno.php?w="+wysokosc+"&h="+szerokosc;
  7. </script>
  8. <div class="k1"> 
  9. <?php  
  10.  for($i = 0; $i < count($plik); $i++)
  11.  {
  12. ?>
  13. <div id="cale" style="background-image: url('resizeImage.php?&x=
  14. <?php 
  15.  $_GET['w']
  16. ?>
  17.  &y=
  18. <?php 
  19.  $_GET['h']
  20. ?>
  21.  &nazwa=
  22. <?php  
  23.  'd'.$i.'.png'
  24. ?>
  25.  ');">
  26. <div class="title">
  27. ?>


co chce zrobic tutaj to umiescic tlo div'a ktory zostanie przeskalowany
do wielkosci div'a

ale z takim kodem nic sie nie pojawia, ani przeskalowane tlo ani zaden blad

do skalowania grafiki uzywam tego skryptu

dziekuje za jakis cynk
misiek172
niestety AJAX chyba nie obsługuje obrazków ale za to obsługuje text, a PHP posiada funkcje kodującą obrazek na jakiś dłuuuuuugi string, i AJAXem sobie go przeźlesz i odkodujesz spowrotem biggrin.gif. Ale wymyśliłeś z tym ;P

Inaczje mozna dopasować to tak naprawde (przypomniało mi sie teraz tongue.gif)

CSS filter

on ma polecenie scale i wtedy sie doskaluje (rozciągnie do obiektu, tabelki, etc.)
qwaq
To tylko pomysł ale pewnie wstawiając obrazek w div mozesz określić jego wymiary za pomocą htmlowego width i height.

a gdyby tak ustawić oba parametry na "100%" questionmark.gif?

np.: width="100%"
piasekps
misiek a moglbys mi zapodac jakies namiary, gdzie moglbym poczytac wiecej o tym CSS filter
bo to co znalazlem to raczej jest do 'upiekszenia' grafiki porzez rozmycia, cieniowani i inne takie
a nic o skalowaniu nie znalazlem

z gory dzieki
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.