Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][rozwiązany] Nakładka na obrazek
Forum PHP.pl > Forum > Przedszkole
bim2
Witam, mam mały problem.
http://hernass.pl/css.htm
Chciałbym, aby obramka znalazła się nad czerwonym tłem. I nie mogę sobie poradzić. Tło musi iść od dołu w górę. Jak daje margin-top to obramowanie także zmienia swoje położenie.
Ma ktoś jakiś pomysł, jak to naprawić?

  1. #health {
  2. height: 334px;
  3. width: 18px;
  4. }
  5. #health_bar {
  6. height: 34px;
  7. padding-top: 300px;
  8. width: 18px;
  9. background: url('HP-pasek_04.gif') repeat-y;
  10. float: left;
  11. }
  12. #border_health {
  13. height: 334px;
  14. width: 18px;
  15. background: url('HP pasek.png');
  16. float: left;
  17. z-index: 1000;
  18. }
  19. </head>
  20. <div id="health"><div id="health_bar"><div id="border_health"></div></div></div>
  21. </body>
  22. </html>
ayeo
Witam!

Zmień padding-top: 300; na 0 winksmiley.jpg

Pozdrawiam!

edit:

  1. #health {
  2. position: relative;
  3. height: 334px;
  4. width: 18px;
  5. }
  6. #health_bar {
  7. height: 34px;
  8. padding-top: 0px;
  9. width: 18px;
  10. background: url('HP-pasek_04.gif') repeat-y 0 bottom;
  11. position: absolute;
  12. bottom: 0;
  13. left: 0;
  14. }
  15. #border_health {
  16. position: absolute;
  17. top: 0;
  18. left: 0;
  19. height: 334px;
  20. width: 18px;
  21. background: url('HP pasek.png');
  22.  
  23.  
  24. }
  25.  
  26. <div id="health">
  27. <div id="health_bar"></div>
  28. <div id="border_health"></div>
  29. </div>
  30. </body>
kleszczoscisk
  1. #border_health {
  2. height: 334px;
  3. width: 18px;
  4. background: url('http://hernass.pl/HP pasek.png');
  5. float: left;
  6. margin-top: -300px;
  7. z-index: 1000;
  8. }

moze tak ?
bim2
Tylko, że teraz czerwony pasek idzie od góry, a ja chce go od dołu smile.gif

@up
Tak banalne, że aż się dziwie że zapomniałem o tym. smile.gif Należyte pomógł. :]

EDIT:
A co z IE? haha.gif
http://hernass.pl/css.htm Ucina mi paseczek sad.gif
ayeo
look wyżej, dałem edycję smile.gif
bim2
No niby tak się da, ale jak bez position absolute, ani relative? smile.gif Taki trening sobie wymysliłem :]

EDIT; Przepraszam, jednak śmiga tak jak chciałem. Dziękuje bardzo.



Jednak nadal mam problem smile.gif Nie może być absolute tongue.gif bo nie działa. http://web.altaron.pl</a> -> abcd1/abdc1 -> zakładka Client
hiszpanespaniol
po co tyle div'ów, marginesów i absolutów?

można to zrobić inaczej i prościej więc będzie pasować do ładnego layoutu:

  1. <style type="text/css">
  2.  
  3. img#health {
  4.  
  5. background-image: url(czerwona-linia-zycia.gif);
  6.  
  7. background-position: 0px 50px;
  8.  
  9. }
  10.  
  11.  
  12. <img src="obramowanie.gif" id="health" alt="poziom zdrowia" />




osobną kwestią jest, czy chcesz pozycjonować obrazek absolutnie, czy wrzucić go wewnątrz czegokolwiek. obramowanie.gif musi mieć oczywiście przezroczysty środek, a wysokość linii życia tez musi byc odpowiednia. Za pomocą php, czy czego tam będziesz używał jako drugą wartość dla background-position wstawiasz ile życia ktoś stracił. przy obrazku wysokim na 100px sprawa jest banalna. 

edit:
Nawet lynx wyświetli te obrazki poprawnie winksmiley.jpg
-rogal-
o0 przydałby mi się taki kodzik, ale jak do tego wyświetlić jakaś ilość z mysql np 1000 a w drugim polu mam 2500 czyli ile mam 1000 a maks 2500.
I jak to do tego co zrobiliście w tym temacie wyświetlić?
Mize
Obliczasz % i odpowiednio do tego długość paska życia.
bim2
Ale, ja chce mieć to obramowanie smile.gif
hiszpanespaniol
nic nie stracisz.

1. tworzysz gif wyglądający identycznie jak obramowanie. ten gif ma przezroczysty środek.

2. tworzysz (w tym samym .psd czy .xcf) linię życia żeby pasowała pod spodem i była wysoka tak samo jak obramowanie.

3. css i html jak podałem wyżej i smiga wszystko.



możesz to zrobić inaczej, ale to chyba najczystsze rozwiązanie jakie znam. jeszcze jako alt dla obrazka tez mozesz wstawiać zdanie typu "pozostało Ci 20 procent życia" więc będzie też semantycznie
cbagov
Mozesz tez uzyc rozciaganego czerwonego diva, jesli chcesz 2 kolorowego: to o wysokosci/szerokosci polowy wskaznika i marginie takze szerokosci polowy - 1 obrazek mniej.
Jesli 3 kolory to margin]div[margin itd

I radze nie miec spacji w nazwach plikow, ani duzych liter.
bim2
nadal kurczę nie chodzi i nie wiem czemu. Albo jest cały wypełniony, albo w ogóle ;/
http://hernass.pl/css.htm
hiszpanespaniol
1. nie pisałem "png" tylko "gif"

2. pisałem jeszcze o pozycji tła.

3. Na pewno nie pisałem, zebyś wymieszał background-imagez background-repeat



to są przyczyny. jezeli je usuniesz, będzie działać, gwarantuję, tylko czytaj dokładnie jak ktos radzi
bim2
Wiesz co, nie rozumiem. smile.gif Możesz mi napisać krok po kroku. Nie pomyliłem repeat z position, tylko złe pliki wgrałem. Na localu miałem poprawnie.

  1. img#health {
  2. background-image: url(red_health.gif);
  3. background-position: 0px 100px;
  4. }
  5.  
  6. <img src="border_health.gif" id="health" alt="poziom zdrowia" />
  7. </body>

Zapełnia całe życie, nieważne ile px dam. ;/
hiszpanespaniol
może daj wszystko razem:

  1. img#health {
  2.  
  3. background: url(red_health.gif) no-repeat scroll 0 100px
  4.  
  5. }


to działa a tamto poprzednie nie wiem czemu nie. jak się dowiem, edytuję post.



edit:

tamto też działa, ale nie było "no-repeat" i pomimo, że obrazek zaczynał się od 100px, to się powtarzał wszędzie smile.gif. problem rozwiązany. prawda, że prościej niż te 3 div'y co były na początku?
bim2
bardzo wielkie dzięki smile.gif Trzeba było dodać scroll, bo na FF nie działało.
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.