Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z nakładającymi się DIVami
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
matewka
Witam. Postaram się przedstawić problem jak najprościej. Mam taką strukturę:
  1. <div id="warstwa1">
  2. <div id="warstwa2">
  3. <div id="warstwa3" style="top:0px;">
  4. ZAWARTOSC
  5. </div>
  6. </div>
  7. </div>

W CSS sprawa wygląda tak:
  1. #warstwa1 {
  2. position: absolute;
  3. display: block;
  4. width: 650px;
  5. height: 482px;
  6. left: 15px;
  7. top: 43px;
  8. }
  9. #warstwa2 {
  10. position: absolute;
  11. display: block;
  12. overflow: hidden;
  13. left: 0px;
  14. top: 0px;
  15. width: 636px;
  16. height: 468px;
  17. margin: 7px;
  18. }
  19. #warstwa3 {
  20. position: absolute;
  21. display: block;
  22. left: 0px;
  23. <!-- top: 0px; ten parametr jest zawarty bezposrednio w znaczniku DIV -->
  24. width: 636px;
  25. }

Skupcie się głównie na tym, że #warstwa3 nie ma określonej wysokości. Zrobiłem tak dlatego, że zawartość tego diva może być różna. Za pomocą javascriptu chcę zmieniać parametr TOP elementu #warstwa3 (dlatego też umieściłem top bezpośrednio w znaczniku DIV). Okazuje się, że za każdym razem mój DIV przyjmuje wysokość = 0. Sprawdzam to za pomocą obramowania. Pokazuje się tylko pozioma kreska na górze DIVa, a mimo to zawartość DIVa jest widoczna. Najdziwniejsze jest to, że na innej stronie zastosowałem praktycznie identyczną budowę i tam ten problem nie występuje. Tam DIV przyjmuje taką wysokość, jakiej wymagają od niego zawarte wewnątrz elementy. Czy na mój problem może mieć wpływ zastosowanie przy jednym znaczniku jednocześnie ID i CLASS? Czy nadrzędne DIVy mogą tu o czymś decydować?
Damonsson
width: 97px;
height: 19px;
Takie są wymiary Twojego DIVa 'warstwa3' w którym jest słowo 'ZAWARTOSC', więc w czym problem?

Nie musisz umieszczać bezpośrednio stylu w html, jeśli chcesz tym sterować za pomocą JS. Domyślną wartość możesz umieścić w oddzielnym pliku .css wraz z resztą.

Stosowanie dla jednego elementu #id i .class nie powoduje żadnych koligacji, nie biorąc pod uwagę oczywiście zawartości.

Nadrzędne DIVy mogą tutaj o czymś decydować, ale nie wiem co tam masz.
matewka
Ta ZAWARTOSC to tylko przykład. W rzeczywistości wewnątrz tego DIVa mam wiele zdjęć, które w różnych sytuacjach nadają różną wysokość DIVowi.
Ale to już nie ważne. Problem rozwiązał się sam. Te zdjęcia mam zawarte w tabeli pozycjonowanej absolutnie. Tutaj tkwił problem. Po prostu cała zawartość DIVa była ustawiona absolutnie, zatem DIV przyjął wysokość = 0, a mimo to pokazywał zawartość.
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.