2012-04-25 22 views
5

Mam pewne problemy z z-index i pozycjonowania. Zasadniczo, po najechaniu na pozycji menu (dom, o itp), odpryskami farby powinna ładować pod menu:Z-Index i względne/bezwzględne pozycjonowanie

http://www.saradouglas.net/home

stylów znajduje się tutaj: http://www.saradouglas.net/wp-content/themes/sara-douglas-theme/style.css

To działało dobrze, gdy każdy div powitalny został ustawiony na absolutne pozycjonowanie, ale zdałem sobie sprawę, że pojawią się one w różnych miejscach w różnych rozdzielczościach ekranu. Myślałem, że będzie to tylko przypadek zmiany tego na względne pozycjonowanie, a następnie odpowiednie dostosowanie współrzędnych. Niestety moje rozpryski nie pojawiają się w menu, tak jak powinny.

Aby wyjaśnić, chcę, aby w menu pojawiły się plamy - aby menu zawsze pojawiło się na wierzchu plam. Stało się to problemem dopiero po ustawieniu menu na względne, a te plamy są absolutne.

Mam nadzieję, że to proste rozwiązanie, a ja po prostu czegoś brakuje. Mam nadzieję, że ktoś tutaj może mi powiedzieć, gdzie się nie udałem i zaoferować rozwiązanie!

Do tej pory przesłano kilka dobrych odpowiedzi, ale niestety nie rozwiązały one mojego problemu. Próbowałem dodać tło menu do klasy ul, a nie div, ale to nie miało żadnego wpływu na problem.

Z góry dziękuję.

Ross

+0

Który z arkuszy stylów jest rozpryskany farbą? –

+0

http://www.saradouglas.net/wp-content/themes/sara-douglas-theme/style.css – rossautomatica

+0

To nie jest odpowiedź na twoje pytanie, ale ogólne uwagi. Zaleciłbym załadować tło tych "spansów" naraz ... teraz, gdy użytkownik unosi pozycję menu, przeglądarka wysyła żądanie obrazu ... po prostu przenieś właściwość '' do 'spans' do 'a: hover span' ... w ten sposób wszystkie obrazy zostaną załadowane jednocześnie. – skip405

Odpowiedz

12

Jeśli dobrze pamiętam kolejność pierwszeństwa Z-indeksów jest coś takiego

  • płótnie (gdzie Element jest wyciągnięte/rodzice obszar odkształcalny)
  • BG obrazy
  • indeks z: -1
  • domyślna (0)
  • z-index: 1+

Kiedy więc dajesz dowolny element dziecko z-index -1, to nie będzie schodzić poniżej tle rodziców z powodu pierwszeństwa rodziców.

Oto twoje rozwiązanie. Właśnie wypróbowany na firebugu i działa:

  1. Usuń obraz bg z # menu i dodaj oddzielny div pod ul.menu przed LI.
  2. Podaj css poniżej do tego div.
  3. Teraz wszystkie te pociągnięcia pędzlem z-index mniejsze niż -1. -2 działa.

A to powinno być to.

CSS:

position:absolute; 
top:0; 
bottom:0; 
left:0; 
right:0; 
z-index:-1; 
background: url(...); 

wiem, że to nie tak dużo semantyczny, ale hej, to działa, prawda? : P

+0

Cześć - dziękuję za odpowiedź i dziękuję szczególnie za bycie tak dokładnym. Niestety wciąż mam ten sam problem z indeksem Z! Czy byłbyś tak uprzejmy, aby sprawdzić, czy może coś przeoczyłem? – rossautomatica

+0

Tak, dodaj # separatora menu wewnątrz ul, a nie obok jako rodzeństwo. # separator menu powinien być dzieckiem z ul. – Ege

+0

Idealny. Po prostu muszę trochę popracować nad ulem, żeby wyglądało to tak, jak było, ale to odpowiada na moje pytanie .. dziękuję !! – rossautomatica

1

należy ustawić położenie względem w swoim div menu, a następnie dodać bezwzględne DIV pozycjonowania się w menu za div. wtedy różne rozdzielczości ekranu to nie problem.

+0

To odpowiada na mój problem z pozycjonowaniem, ale teraz plamy pojawiają się nad menu ... – rossautomatica

+0

To jest dokładnie to samo :) –

+0

Dzięki za pomoc - jednak plamy pojawiają się na górze menu, ale powinny znajdować się pod menu . Czy wiesz, jak mogę to naprawić? – rossautomatica

0

Można to zrobić poprzez proste ustawienie BG, Uszczelki i wysokość przy ul zamiast <div id="menu">

+0

Cześć Simon, dziękuję za odpowiedź. Próbowałem - ustawiłem bg, paddings & height na "menu" ul zamiast div, ale dało mi to dokładnie taki sam wynik, jaki obecnie mam. Wróciłem do mojego oryginalnego kodu, więc niestety nie jestem już daleki. Być może źle zrozumiałem twoją odpowiedź? – rossautomatica