Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][CSS]ukryty obrazek
czareku
post 21.10.2008, 12:48:30
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.10.2008

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


Witam. Mam taki problem, w mojej aplikacji przedstawione są poszczególne fazy tworzenia dokumentu, jesli jakaś faza jest aktywna to obrazek przedstawiajacy tą fazę ukrywa się i jest puste miejsce, jak zrobić aby kiedy dana faza jest aktywna wyświetlał się inny obrazek, np. z innym tłem? Kod wygląda tak:
czesc pliku php
Kod
<BR><h1>PPM phases</h1><BR><ul class="phases"><BR><li class="employee<?php echo ($status == 'Employee Input') ? '2' : ''?>"><span class="hidden">Employee Input</span><img src="web/imgs/arrow.png" /></li><BR><li class="manager<?php echo ($status == 'Manager Input') ? '2' : ''?>"><span class="hidden">Manager Input</span><img src="web/imgs/arrow.png" /></li><BR><li class="calibration<?php echo ($status == 'Calibration Meeting') ? '2' : ''?>"><span class="hidden">Calibration Meeting</span><img src="web/imgs/arrow.png" /></li><BR><li class="ppm<?php echo ($status == 'PPM Meeting') ? '2' : ''?>"><span class="hidden">PPM Meeting</span><img src="web/imgs/arrow.png" /></li><BR><li class="completion<?php echo ($status == 'Completion') ? '2' : ''?>"> <span class="hidden">Completion</span></li><BR></ul><BR>


czesc pliku .css:
Kod
span.hidden{
display: none;
visibility: hidden;
}
div#BODY div.personal-body div.details ul.phases {
list-style: none;
display: block;
padding: 15px 0 0 20px;
}
div#BODY div.personal-body div.details ul.phases li {
display: block;
float: left;
width: 138px;
height: 35px;
margin-left: 5px;
}
div#BODY div.personal-body div.details ul.phases li img {
position: relative;
top: 8px;
left: 126px;
}
div#BODY div.personal-body div.details ul.phases li.employee {
background: url(../imgs/periods_03.jpg) no-repeat;
margin-left: 0;
}
div#BODY div.personal-body div.details ul.phases li.employee2 {
background: url(../imgs/periods_18.jpg) no-repeat;
}
div#BODY div.personal-body div.details ul.phases li.manager {
background: url(../imgs/periods_05.jpg) no-repeat;
}
div#BODY div.personal-body div.details ul.phases li.calibration {
background: url(../imgs/periods_07.jpg) no-repeat;
}
div#BODY div.personal-body div.details ul.phases li.ppm {
background: url(../imgs/periods_09.jpg) no-repeat;
}
div#BODY div.personal-body div.details ul.phases li.completion {
background: url(../imgs/periods_11.jpg) no-repeat;
}


Ten post edytował czareku 21.10.2008, 13:45:51
Go to the top of the page
+Quote Post
Cysiaczek
post 21.10.2008, 13:31:30
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Dodaj tag do tematu, a kod ujmij w bbcode. W przeciwnym razie temat zostanie zamknięty.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
empathon
post 21.10.2008, 14:13:02
Post #3





Grupa: Zarejestrowani
Postów: 246
Pomógł: 31
Dołączył: 13.11.2006
Skąd: się znamy?

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


Po co te <br /> w liście? Odstępy pomiędzy elementami w liście powinieneś ustalić w CSS.
Myślę, że wszystko wydawałoby Ci się łatwiejsze gdybyś stosował wcięcia w kodzie, zobacz:
  1. <h1>PPM phases</h1>
  2.  
  3. <ul class="phases">
  4. <li class="employee<?php echo ($status == 'Employee Input') ? '2' : ''?>">
  5. <span class="hidden">Employee Input</span>
  6. <img src="web/imgs/arrow.png" />
  7. </li>
  8. <li class="manager<?php echo ($status == 'Manager Input') ? '2' : ''?>">
  9. <span class="hidden">Manager Input</span>
  10. <img src="web/imgs/arrow.png" />
  11. </li>
  12. <li class="calibration<?php echo ($status == 'Calibration Meeting') ? '2' : ''?>">
  13. <span class="hidden">Calibration Meeting</span>
  14. <img src="web/imgs/arrow.png" />
  15. </li>
  16. <li class="ppm<?php echo ($status == 'PPM Meeting') ? '2' : ''?>">
  17. <span class="hidden">PPM Meeting</span>
  18. <img src="web/imgs/arrow.png" />
  19. </li>
  20. <li class="completion<?php echo ($status == 'Completion') ? '2' : ''?>">
  21. <span class="hidden">Completion</span>
  22. </li>
  23. </ul>


I nie twórz bez potrzeby takich długaśnych selektorów (np.: od div#body) to bardzo mało elastyczne.
Strzelam:
  1. div#BODY div.personal-body div.details ul.phases li.employee {
  2. background: url(../imgs/periods_03.jpg) no-repeat;
  3. margin-left: 0;
  4. }
  5. div#BODY div.personal-body div.details ul.phases li.employee2 {
  6. background: none;
  7. }


Edit:
Cytat
Mam taki problem, w mojej aplikacji przedstawione są poszczególne fazy tworzenia dokumentu, jesli jakaś faza jest aktywna to obrazek przedstawiajacy tą fazę ukrywa się i jest puste miejsce, jak zrobić aby kiedy dana faza jest aktywna wyświetlał się inny obrazek, np. z innym tłem?

Masz problemy z przecinkami i kropkami. Nie żałuj ich. Naprawdę trudno się przez to przebić i pomoc (nawet jak się chce).

Dla class *2 nadajesz inny background i tyle.


--------------------
Goldenline: Łukasz Rodziewicz
Go to the top of the page
+Quote Post
czareku
post 22.10.2008, 12:15:54
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 21.10.2008

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


Dzięki za uwagi i za radę:P Chodzi o to żeby zrobić mniej więcej coś takiego? Jak uzywam hiddena to jest wszystko ok, mam wszystkie obrazki za wyjatkiem aktywnego- ktory jest ukryty. Jednak jesli robie cos takiego jak podalem nizej, tylko, ze dla wszystkich faz to automatycznie wszystkie zmieniaja swoj obrazek. Za jakas godzinke postaram sie wrzucic screeny i zobrazowac o co mi dokladniej chodzi;]

  1. <li class="employee<?php echo ($status == 'Employee Input') ? '2' : ''?>
  2. <span class="obr">Employee Input</span>
  3. <img src="web/imgs/arrow.png" /></li>

a w cssie:
  1. span.obr{
  2. width: 138px;
  3. height: 35px;
  4. background: url(../imgs/obrazek.jpg) no-repeat;
  5. }


ok, zrobiłem mała prezentacje graficzna o co mi chodzi:P tak żeby nie było niedomówień =)
rysunek na gorze oraz kod który wkleiłem w pierwszym poście przedstawia jak te fazy działają teraz, czyli ukrywa fazę aktywna (w tym przypadku "calibration meeting"), rysunek na dole pokazuje jakbym chciał, żeby to działało, jeśli robię coś takiego jak napisałem powyżej to wszystkie fazy zmieniają kolor na ten niebieski, niezależnie od tego czy są aktywne czy nie.



hm

Ten post edytował czareku 21.10.2008, 18:28:18
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 Wersja Lo-Fi Aktualny czas: 6.07.2025 - 17:33