Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][CSS] Położenie elementu
grzes999
post 24.05.2012, 17:24:26
Post #1





Grupa: Zarejestrowani
Postów: 305
Pomógł: 29
Dołączył: 5.07.2011

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


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ć?

Ten post edytował grzes999 23.05.2012, 14:46:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
prowseed
post 24.05.2012, 18:37:33
Post #2





Grupa: Zarejestrowani
Postów: 433
Pomógł: 64
Dołączył: 29.01.2011
Skąd: Warszawa

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


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.


--------------------
Go to the top of the page
+Quote Post
lobopol
post 24.05.2012, 18:39:01
Post #3





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


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.  


--------------------
Go to the top of the page
+Quote Post
grzes999
post 25.05.2012, 10:03:03
Post #4





Grupa: Zarejestrowani
Postów: 305
Pomógł: 29
Dołączył: 5.07.2011

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


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.  


Ten post edytował grzes999 25.05.2012, 10:04:56
Go to the top of the page
+Quote Post
kristaps
post 25.05.2012, 10:08:54
Post #5





Grupa: Zarejestrowani
Postów: 279
Pomógł: 36
Dołączył: 1.03.2012

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


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.
Go to the top of the page
+Quote Post
grzes999
post 25.05.2012, 22:00:03
Post #6





Grupa: Zarejestrowani
Postów: 305
Pomógł: 29
Dołączył: 5.07.2011

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


No niby nie będą miały active a ni hoverow. Tak że słucham twojego sposobu na rozwiązanie tego problemu.
Go to the top of the page
+Quote Post
d3ut3r
post 26.05.2012, 11:38:13
Post #7





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


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.  



--------------------
http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
Go to the top of the page
+Quote Post
grzes999
post 27.05.2012, 18:17:42
Post #8





Grupa: Zarejestrowani
Postów: 305
Pomógł: 29
Dołączył: 5.07.2011

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


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ł.
Go to the top of the page
+Quote Post
lobopol
post 27.05.2012, 19:00:02
Post #9





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Pokaż online bo nie rozumiem twojego problemu.


--------------------
Go to the top of the page
+Quote Post
grzes999
post 28.05.2012, 19:39:54
Post #10





Grupa: Zarejestrowani
Postów: 305
Pomógł: 29
Dołączył: 5.07.2011

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


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 :/
Go to the top of the page
+Quote Post
lobopol
post 28.05.2012, 20:49:44
Post #11





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


Bez js tego nie zrobisz, przy załadowaniu strony musisz ustalać nowe pozycje linków w takim wypadku.


--------------------
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: 19.07.2025 - 04:08