Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS] Pozycjonowanie Div (uzupełniony link)
Forum PHP.pl > Forum > Przedszkole
pwojciechowski
Witam, Mam taki problem, chciałbym aby jeden z div'ow pojawiał się tylko do wielkości monitora, jeśli ktoś ma monitor duży pojawia mu się cały, jeśli mniejszy pojawia mu się część, chodzi o div id="logo_right", aktualnie obrazek tam jest ustawiony jako tło, div pozycjonowany jest pozycjonowane przez "absolute" względem div-a "container", próbowałem już przez wyłączenia scroolbar x, ale nie dość, że nie przechodzi wtedy walidacji css, to cały czas można było przesunąć myszką tło.


Link http://alcopone.pl/test/


  1. body {
  2. background: url(img/bg.png) top center repeat-x;
  3.  
  4. }
  5.  
  6. #container {
  7. background: url(img/header.png) top center no-repeat;
  8. height: 800px;
  9. width: 1081px;
  10. margin: auto;
  11. }
  12.  
  13. #logo_right {
  14. background: url(img/logo_right.png) top left no-repeat;
  15. position: absolute;
  16. top: 70px;
  17. left: 900px;
  18. width: 100%;;
  19. height: 300px;
  20. }
  21.  
  22. <div id="container">
  23. <div id="logo_right">
  24.  
  25. </div>
  26. <div id="header">
  27. Logo
  28. </div>
  29. </div>
  30.  
  31. </body>
  32.  
  33.  
Damonsson
div id="logo_right" jest pozycjonowany względem body, nie okłamuj nas winksmiley.jpg
A dlaczego względem body? A no dlatego, że określając position dla children, musimy też określić position dla parent, bo children będzie próbował pozycjonować się tak długo względem każdego rodzica wyżej, jak długo nie będzie któryś miał określonego position. A jeżeli żaden nie będzie miał określonego position, to dojdzie aż do body i wypozycjonuje się względem body.
A skoro kontener ma być pozycjonowany relatywnie, to powinieneś rozwiązać zagadkę winksmiley.jpg

A żeby Twój logo_right dochodził do końca, a nie tworzył się scroll-x to pokombinuj z overflow.
pwojciechowski
Dzięki za pomoc!
Zapomniałem o tej jednej właściwości, nadałem elementowi #container "position: relative", do body dołożyłem "overflow-x: hidden;"
I teraz działa tak jak chciałem, co prawda nie przechodzi walidacji, ale coś za coś winksmiley.jpg <am jeszcze jeden mały problem, chcialbym aby obrazek z #logo_right był w jako w tle, teraz wychodzi na górę, próbowałem przez z-index - ale ten chyba działa tylko dla dwóch elementów pozycjonowanych "posion: absolute", zamieniałem też miejscem kodzie dwa elementy div, efekt ten sam - > logo nachodzi cały czas na mapkę. Masz może pomysł jak to rozwiązać.

http://alcopone.pl/
Damonsson
W takiej sytuacji miej głęboko w... validator, dla CSS3 jest ok smile.gif

Aby działał z-index, musi być zdefiniowane position.

Dodaj do 'map' position: relative i z-index:9999

Podstawy podstaw.
pwojciechowski
Witam Serdecznie,
Odkopuje temat, ponieważ nie mogę sobie poradzić jeszcze z jednym problemem, a na pewno są one powiązane.
Niestety w Operze, a to na tą chwilę 10% użytkowników według ranking.pl, strona nie wyświetla się prawidłowo, a mianowicie
pasek przewijania się nie pojawia, ale niestety można przesunąć cały obraz w prawo do końca obrazka, błąd nie występuje
na ff, safari i chrome.

Pozdrawiam
Paweł Wojciechowski
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.