Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][CSS] Położenie elementu
Forum PHP.pl > Forum > Przedszkole
grzes999
Witam
Mam chyba dość banalny problem jednak nie mogę wpaść na jego rozwiązanie.
Mam do zakodowania taką stronę.



I chce żeby każdy element to znaczy(samochód,drukarka,etc.) były osobnymi elementami a nie jako jedno tło.
I teraz mam problem jak zrobić żeby dany element był zawsze w tym samym miejscu bez względu na rozdzielczość.
Całą stronę mam w divie o stałej szerokości 1008px,

Fragment kodu z obrazkiem
  1. <div id="samochod">
  2. <a href="#s"><img src="img/auto_txt.png" id="auto_txt"/></a>
  3. <img src="img/auto_cr.png" id="auto_foto" />
  4. </div>


I kod css do tego elementu

  1. #auto_foto {
  2. float: right;
  3. margin-left: -61px;
  4. margin-right: -9px;
  5. margin-top: 273px
  6. }
  7. #auto_txt {
  8. margin-bottom:-260px;
  9. margin-right:-160px;
  10. margin-left:40px;
  11. }


No i dla rozdzielczości laptoptopowej to dobrze wszystko się wyświetla ale dla większych lub mniejszych rozdzielczości niestety nie ;/

Na prawdę nikt nie ma pomysłu jak to zrobić?
prowseed
no faktycznie banalny.
Robisz duzego diva z position:relative i później wszystkie mniejsze elementy ładujez do div'ów z position:absolute i nadanymi parametrami left i top.
lobopol
Nie wiem czemu tak chcesz zrobić, trzymanie w png każdego elementu osobno będzie kilka/kilkanaście razy większe jeżeli wszystko miało być jednym tłem z odpowiednio wypozycjonowanymi linkami, ale cóż twoja decyzja.

Przy twoim podejściu najlepiej jak zrobisz tak:
  1. <div id="ten co ma 1000px">
  2. <div id="link 1">
  3. <a href=""></a>
  4. </div>
  5. <div id="link 2">
  6. <a href=""></a>
  7. </div>
  8. </div>


i teraz w css
  1. #ten co ma 1000px {
  2. position: relative;
  3. szerokość i wysokość ustawić jak i główne tło
  4. }
  5. #ten co ma 1000px div {
  6. position: absolute;
  7. }
  8. #ten co ma 1000px a {
  9. display: block;
  10. height: 100%;
  11. }
  12. #link 1 {
  13. pozycja od krawędzi dolnej/górnej
  14. pozycja od krawędzi prawej/lewej
  15. szerokość linku
  16. wysokosc linku
  17. tlo linku
  18.  
  19. }
  20.  
grzes999
Robię tak jak mi napisaliście ale niestety dalej przy różnych rozdzielczościach elementy są w różnych miejscach. Oto cała zawartość pliku html i css.
Może coś robię źle :/

  1. <div id="content">
  2. <div id="logo">
  3. </div>
  4. <div id="elementy_strony">
  5. <div id="link_1">
  6. <a href=""></a>
  7. </div>
  8. <div id="link_2">
  9. <a href=""></a>
  10. </div>
  11. <div id="stopka">
  12. <menu>
  13. <li><a href="#">Bilboardy</a></li>
  14. <li><a href="#">Oferta</a></li>
  15. <li><a href="#">Oklejanie aut</a></li>
  16. <li><a href="#">Kontakt</a></li>
  17. </menu>
  18. <p id="copyright">Copyright flesh 2012</p>
  19. </div>
  20. </div>
  21. </div>
  22.  



  1. body {
  2. background-image:url(../img/tlo.png);
  3. background-repeat:no-repeat;
  4. background-position:center top;
  5. font-family:Arial, Helvetica, sans-serif;
  6. font-size:14px;
  7. }
  8. a {
  9. color:#000;
  10. text-decoration:none;
  11. }
  12. #content {
  13. width:1000px;
  14. }
  15. #elementy_strony {
  16. position:relative;
  17.  
  18. }
  19. #elementy_strony div {
  20. position:absolute;
  21. }
  22. #elementy_strony a {
  23. display:block;
  24. height:100%;
  25. }
  26. #link_1 {
  27. width:162px;
  28. height:35px;
  29. background:url(../img/auto_txt.png);
  30. background-repeat:no-repeat;
  31. top:43%;
  32. left:27%;
  33. }
  34.  
kristaps
Czy te elementy będą mieć jakiś .active czy .hover? Jeżeli nie, to poważnie lepiej wyznaczyć coordsy i dać to jako jedno tło. Da się zrobić, tak jak chcesz, tylko wydaje mi się, że nie jest to najlepsze rozwiązanie.
grzes999
No niby nie będą miały active a ni hoverow. Tak że słucham twojego sposobu na rozwiązanie tego problemu.
d3ut3r
Przykład poniżej, dla div#banner dajesz tło w tym divie robisz linki które pozycjonujesz absolutnie względem tego diva. Musisz oczywiście w tym kodzie dostosować tło dla #banner jego wymiary a także rozmiary i położenie poszczególnych linków.

  1. <div id="banner">
  2. <a href="#" id="link1"><span>Opis link1</span></a>
  3. <a href="#" id="link2"><span>Opis link2</span></a>
  4. <a href="#" id="link3"><span>Opis link3</span></a>
  5. </div>


  1. div#banner{
  2. position:relative;
  3. width:200 px;
  4. height:200 px;
  5. background:transparent url('sciezka/do/tla.jpg') no-repeat;
  6. }
  7.  
  8. div#banner a{
  9. display:block;
  10. position:absolute;
  11. }
  12.  
  13. div#banner a span{
  14. display:none;
  15. }
  16.  
  17. a#link1{
  18. width:10px;
  19. height:20px;
  20. top:10px;
  21. left:15px;
  22. }
  23. a#link2{
  24. width:10px;
  25. height:20px;
  26. top:10px;
  27. left:15px;
  28. }
  29. a#link3{
  30. width:10px;
  31. height:20px;
  32. top:10px;
  33. left:15px;
  34. }
  35.  

grzes999
Te wszystkie sposoby działają. tylko że ja mam tło powiedzmy o szerokości 1920 na 1080 i chcę żeby jego rozmiar zmieniał się zależnie od rozmiaru okna i to potrafię zrobić tylko wtedy wszystkie linki mi uciekają przy różnych rozdzielczościach :/ I to jest mój główny problem.

Może ktoś jeszcze ma jakieś propozycję bo te powyższe niestety nie działają tak jak bym chciał.
lobopol
Pokaż online bo nie rozumiem twojego problemu.
grzes999
Proszę bardzo

klik

Chodzi mi o to żeby nie trzeba było przewijać strony w bok tylko po dopasowaniu się rozmiaru tła do rozdzielczości(co wiem jak zrobić)
Linki były w dobrych miejscach i działały. Bo teraz jak ustawię tak żeby tło się dopasowywało to linki są w różnych miejscach :/
lobopol
Bez js tego nie zrobisz, przy załadowaniu strony musisz ustalać nowe pozycje linków w takim wypadku.
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.